-
ciao! volevo sapere se in rete esistono delle guide su come ottimizzare i risultati di una ricerca da db su più pagine in php.. in pratica quello che fa google.. trovati i miei 2000-3000 record vorrei che venissero formattati nel più breve tempo possibile ..insomma con le 2 funzioni di php che conosco magari ci riesco ma vorrei ottimizzare il codice per velocizzare il piu possibile il tutto.. sapete dove trovare how to?? anche solo qualche consiglio mi basterebbe...
poi vediamo un paio di domande un po' teoriche..
se ho un db ceh dovrà contenere circa 2 milioni di record è meglio inserire i dati su piu tabelle (chessò in base al mese... quindi tab_gen tab_feb ecc..ec...) oppure su una sola?? (sempre per velocizzare tutto e in linea di massima intendo.... )
premetto... l'hardware nn è di ultima generazione... apache php mysql sono montati su un p3 667mhz 128Mb ram... ad ogni query la % di cpu utilizzata dall'user mysql sale a 98
-
Per il primo problema... usi un LIMIT
if (!$limit) $limit=0;
...
poi quando fai la query specifichi
LIMIT $limit,numero_di_record_da_prendere_per_volta
e a fondo pagina per mandare avanti o indietro metti
if ($limit>0) {
$limit-=numero_di_record_da_prendere_per_volta;
echo "<a href=nome_pagina.php?limit=$limit>Pagina precedente</a>";
}
questo per mandare indietro se limit è maggiore di 0...
$query = "SELECT count(nome_campo) AS total FROM nome_tabella";
$result = mysql_query($query, $db);
$row = mysql_fetch_array($result);
$limit+=numero_di_record_da_prendere_per_volta;
if ($limit < $row['total'])
echo "<a href=nome_pagina.php?limit=$limit>Pagina successiva</a>";
mentre questo per mandare alla pagina successiva se limit è inferiore ai record totali
Ciao
-
Devi linkare tutte le paginedall'index( che di solito ha pr maggiore)
-
@ marcio... nn hai capito una fava ... :P
x camicio:
io l'ho strutturato inserendo LIMIT nella query e la velocità è decisamente aumentata..
ho inserito i link prima della tabella dei risultati con un ciclo che me li formatta per num di partenza:
[0][50][100][150]......
naturalmente anche l'idea pag prec pag succ va benone!!!
ma ancora nn riesco a capire se in GENERALE è meglio partire dalla costruzione di più tabelle se i recrd sono tanti oppure popolarne una sola all'infinito....
-
secondo il mio modesto parere meglio una sola tabella per risultato :lol: