Il n'y a rien de mal à obtenir des données des différentes tables. Chaque site le fait.
Si certaines de vos requêtes sont lentes, il vous suffit de savoir laquelle, puis de l'optimiser.
Vous pouvez trouver les requêtes lentes avec ce code simple: vient de mettre ces déclarations de minuterie $ avant et après chaque exécution de la requête
<?
$TIMER['start']=microtime(TRUE);
// some code
$query="SELECT ...";
$TIMER['before q1']=microtime(TRUE);
$res=mysql_query($query);
$TIMER['after q1']=microtime(TRUE);
while ($row = mysql_fetch_array($res)) {
// some code
}
$TIMER['before q2']=microtime(TRUE);
$res=mysql_query($query);
$TIMER['after q2']=microtime(TRUE);
while ($row = mysql_fetch_array($res)) {
// some code
}
$TIMER['array filled']=microtime(TRUE);
// some code
$TIMER['pagination']=microtime(TRUE);
if ('127.0.0.1' === $_SERVER['REMOTE_ADDR']) { //put your IP addr here
echo "<table border=1><tr><td>name</td><td>so far</td><td>delta</td><td>per cent</td></tr>";
reset($TIMER);
$start=$prev=current($TIMER);
$total=end($TIMER)-$start;
foreach($TIMER as $name => $value) {
$sofar=round($value-$start,3);
$delta=round($value-$prev,3);
$percent=round($delta/$total*100);
echo "<tr><td>$name</td><td>$sofar</td><td>$delta</td><td>$percent</td></tr>";
$prev=$value;
}
echo "</table><>";
}
?>
Merci pour votre réponse. Je vais vérifier lequel devient lent ... mais mon autre problème est que chaque table a sa date de mise à jour. Ainsi, pour une requête, certaines tables ont des données instantanées tandis que d'autres sont mises à jour depuis le Web. donc ces différences vont être là. C'est pourquoi demandé de retarder le chargement des données pour les tables qui sont en cours de mise à jour. – mathew
@mathew Si certaines opérations d'insertion ralentissent votre base de données, vous devez également optimiser ces requêtes de mise à jour. bien que "mettre à jour la base de données à partir du web" semble bizarre –
bien il me semble très difficile d'optimiser la table pour obtenir des résultats de grande base de données. avez-vous un lien ou des tutoriels que je peux faire une courbe d'apprentissage ?? ou toute aide appréciée – mathew