Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    833

    SQL ottimizzato e' possibile in php

    Ciao a tutti, volevo chiedervi come si fa per fare un sql ottimizzato?
    Cioe' devo fare una select su un file e stampare i dati in una tabella,
    solo che questo file ha 17.000 record quindi la pagina ci mette dieci secondi a caricare.

    E' possibile fare in modo che vengano caricati solo es. 20 record e poi quando faccio un roll
    carichi i successivi 20 ecc... e se faccio rollup mi carichi i 20 record precedenti.

    posto la select che utilizzo adesso.

    <?php

    $sql = "
    SELECT

    CAST(MRJID AS CHAR(16) CCSID 280),
    CAST(MRLIB AS CHAR(10) CCSID 280),
    CAST(MROBJ AS CHAR(10) CCSID 280)

    FROM $LNKLIB.MRMOBJP order by MRLIB, MROBJ";

    $stmt = db2_exec($dbh, $sql, array('cursor' => DB2_SCROLLABLE));

    print '<table>';


    while ($row = db2_fetch_array($stmt))
    {
    if(!$row=="") {

    $costumerMRJID = $row[3];
    $costumerMRLIB = $row[4];
    $costumerMROBJ = $row[6];
    ?>
    <tr>


    <td width="120" bgcolor="#CCCCCC"><font face="Times New Roman"> <?php echo($costumerMRJID);?></font></td>
    <td width="140" bgcolor="#CCCCCC"><font face="Times New Roman"> <?php echo($costumerMRLIB);?></font></td>
    <td width="120" bgcolor="#CCCCCC"><font face="Times New Roman"> <?php echo($costumerMROBJ);?></font></td>


    <?php

    }
    }

    print '</table>
    ';



    Ciao grazie

  2. #2
    Il mysql usa il LIMIT, vedi come funziona sul sito di mysql.

    Se usi altri dbms non so dirti, in genere quelli microsoft usano TOP ma è meno manegevole di LIMIT

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    833
    Uso un db2

  4. #4
    Ciao,
    devi effettuare la cosidetta paginazione dei recordset

    La query devi ottimizzarla inserendo l'opzione LIMIT e poi devi effettuare i controlli per i link alle pagine successive in modo da caricare sempre i campi successivi del recordset.

    ciao
    Ginko
    Il progresso scientifico ? www.cartagodelendaest.it

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    833
    devi effettuare la cosidetta paginazione dei recordset
    La query devi ottimizzarla inserendo l'opzione LIMIT e poi devi effettuare i controlli per i link alle pagine successive in modo da caricare sempre i campi successivi del recordset.
    Aspetta perche' parli di pagine successive, intendi il rollup nella tabella?
    Mi faresti un esempio sul utilizzo dell' opzione LIMIT e la gestione dei recordset

    Ciao, grazie

  6. #6
    farti un esempio è un pò complesso, visto che sono necesssario diversi controlli.
    Ti consiglio di scaricarti la guida sulla paginazione presente in questo sito
    http://php.html.it/articoli/leggi/85...zione-di-dati/

    ecco il link

    Buona lettura

    Ciao Ginko
    Il progresso scientifico ? www.cartagodelendaest.it

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    833
    Grazie, ciao

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 © 2024 vBulletin Solutions, Inc. All rights reserved.