Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Mysql: count o mysql_num_rows?

    Ciao a tutti,
    sto realizzando una piccola clase per la gestione degli elenchi di record, ho però un dubbio in merito al conteggio totale dei record:

    a) è meglio effettuare due select:
    1) SELECT COUNT(id) ..... per trovare il numero totale dei record
    2) SELECT text... LIMIT... per selezionare i record

    b) oppure una query unica
    1) SELECT text... LIMIT... per selezionare i record, e poi mysql_num_rows per avere il numero totale dei record?

    io ho sempre utilizzato il modo a, però non sono sicuro sia il pià "performante"...
    qualcuno ha qualche suggerimento?

    grazie mille dell'aiuto

  2. #2
    Con il modo A (SELECT COUNT() ...) permetti a MySQL di eseguire le sue ottimizzazioni interne. Nel modo B MySQL deve allocare la memoria per tutto il recordset invece che per i soli risultati che interessano (es. quelli limitati da LIMIT ...).

  3. #3
    documentandomi un po' ho trovato una terza opzione che consiste nello sfruttare
    SELECT SQL_CALC_FOUND_ROWS campi....

    e poi Select FOUND_ROWS() per recuperare il totale.

    di questo metodo...cosa ne pensate?

    ciao e grazie

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