Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 22

Discussione: query lenta

  1. #11
    Utente di HTML.it
    Registrato dal
    Aug 2000
    residenza
    Edinburgh
    Messaggi
    401
    C'è un motivo particolare per cui salvi le immagini nel DB?
    Conviene salvare solo il nome del file e tenere le immagini direttamente come jpg, in modo da avere un DB molto più snello (quella query si passa ogni volta tutte le righe, a meno che tu non indicizzi anche od e quindi legge un sacco di dati per nulla)

  2. #12
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    518
    devo necessariamente inserirle nel db, od è già la chiave primaria, posso indicizzarlo comunque?

  3. #13
    Utente di HTML.it
    Registrato dal
    Aug 2000
    residenza
    Edinburgh
    Messaggi
    401
    Se è la chiave primaria è già indicizzata.

    Che dimensione sono le immagini? Le memorizzi in un campo blob?

    Se hai file grossi forse questo può essere utile:
    http://www.dreamwerx.net/phpforum/?id=1

  4. #14
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    518
    ho creato un indice anche su od, ma è sempre lenta.

  5. #15
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    518
    Ho provato a inserire le immagini in una cartella ed effettivamente la visualizzazione è molto + veloce, però vorrei evitare di reinserire tutti i record nel db, non c'è modo di velocizzare la mia query?

  6. #16
    Utente di HTML.it
    Registrato dal
    Aug 2000
    residenza
    Edinburgh
    Messaggi
    401
    Hai provato a vedere quel link che ti ho scritto sopra?

    Oppure puoi nominare le immagini semplicemente con il loro timestamp o con un altro campo che hai già nel db (es il nome del prodotto associato). In questo modo puoi automatizzare il task di scrivere i nomi dei file nel DB.

  7. #17
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    518
    non avevo visto il tuo link, il campo che utilizzo e di tipo mediumblob, ho provato il tuo link ma non è attivo.

  8. #18
    Utente di HTML.it
    Registrato dal
    Aug 2000
    residenza
    Edinburgh
    Messaggi
    401
    Strano, a me il link funziona... comunque fa una tabella solo per i dati e li divide in blocchi da 64Kb e poi li legge sequenzialmente.

  9. #19
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    518
    ho provato a modificare il codice in questo modo ma non visualizzo l'immagine

    richiamo sempre da mostra_logo.php?od=$dati[od]

    e questo è il codice:

    Codice PHP:
    <?
    // Download script.. streams data from a mysql database, thru the webserver to a client browser
    if (isset($_GET["od"])) {

    include(
    "../inclusioni/conf.php");
    // connessione e selezione del database 

    if (!$linkid = @mysql_connect($dbhost$dbuser$dbpass)) {
        die(
    "Unable to connect to storage server!");
      }

      if (!
    mysql_select_db($db$linkid)) {
        die(
    "Unable to connect to storage database!");
      } 

      
    // Pull the list of file inodes
      
    $SQL "SELECT od FROM utenti WHERE od = " $_GET["od"] ;

      if (!
    $RES mysql_query($SQL$linkid)) {
        die(
    "Failure to retrive list of file inodes");
      }

      while (
    $CUR mysql_fetch_object($RES)) {
        
    $nodelist[] = $CUR->od;
      }

      
    // Send down the header to the client
      
    Header "Content-Type: $FileObj->Type);
      
    Header "Content-Length: " $FileObj->Size );
      
    Header "Content-Disposition: attachment; filename=$FileObj->Nom);

      
    // Loop thru and stream the nodes 1 by 1

      
    for ($Z $Z count($nodelist) ; $Z++) {
        
    $SQL "select DatiBinari from utenti where od = " $nodelist[$Z];

        if (!
    $RESX mysql_query($SQL$linkid)) {
          die(
    "Failure to retrive file node data");
        }

        
    $DataObj mysql_fetch_object($RESX);
        echo 
    $DataObj->DatiBinari;

    }}
    ?>

  10. #20
    Utente di HTML.it
    Registrato dal
    Aug 2000
    residenza
    Edinburgh
    Messaggi
    401
    Scusa ma non capisco questa query

    Codice PHP:
    $SQL "SELECT od FROM utenti WHERE od = " $_GET["od"] ; 
    Stai selezionando od da utenti, ma lo conosci già!

    Dovresti piuttosto fare:

    Codice PHP:
    $SQL "SELECT id FROM datiBinari where od = " $_GET["od"] ; 
    Dove od nella tabella datiBinari si riferisce alla tua chiave primaria nella tabella utenti.

    A questo punto hai recuperato tutti gli id delle linee interessate della tabella datiBinari e le recuperi una alla volta.

    Ad ogni modo continuo a pensare che salvare i files sul disco sarebbe molto più veloce.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.