A quoi sert la ligne mise en rouge ? Elle n'est même pas reprise plus loin ... :?mysql_connect('serveur_mysql', 'utilisateur_mysql', 'mot_de_passe_mysql');
$base = 'test';
$table = mysql_list_tables($base);
//on prépare la requête
$sql = "OPTIMIZE TABLE ";
//on recherche toutes les données des tables
$req = mysql_query('SHOW TABLE STATUS');
while($data = mysql_fetch_assoc($req))
{
//on regarde seulement les tables qui affichent des pertes
if($data['Data_free'] > 0)
{
//et on l'inclut si elle comporte des pertes
$sql .= '`'.$data['Name'].'`, ';
}
}
//on enlève le ', ' de trop
$sql = substr($sql, 0, (strlen($sql)-2));
//et on optimise
mysql_query($sql);
mysql_close();
a faire la liste de toute tes tables présente dans ta base de donnéeSkYlEsS a dit:A quoi sert la ligne mise en rouge ? Elle n'est même pas reprise plus loin ... :?mysql_connect('serveur_mysql', 'utilisateur_mysql', 'mot_de_passe_mysql');
$base = 'test';
$table = mysql_list_tables($base);
//on prépare la requête
$sql = "OPTIMIZE TABLE ";
//on recherche toutes les données des tables
$req = mysql_query('SHOW TABLE STATUS');
while($data = mysql_fetch_assoc($req))
{
//on regarde seulement les tables qui affichent des pertes
if($data['Data_free'] > 0)
{
//et on l'inclut si elle comporte des pertes
$sql .= '`'.$data['Name'].'`, ';
}
}
//on enlève le ', ' de trop
$sql = substr($sql, 0, (strlen($sql)-2));
//et on optimise
mysql_query($sql);
mysql_close();
Pas mal le tuto, mais on a l'air de dire qu'il n'y a pas de différence niveau système entre les jointures "a l'ancienne" et les jointures avec "JOIN". La grande avancée est une lecture plus claire et une simplicité dans la construction de la requete....[ cvm a dit:]Utilise les jointures plutot que les "where": http://sql.developpez.com/sqlaz/jointures/
hello![ cvm a dit:]Utilise les jointures plutot que les "where": http://sql.developpez.com/sqlaz/jointures/
A verifier dans ton php ini, mais si t'es connection ne sont pas persistante..SkYlEsS a dit:Je vais rajouter dessur chacune des pages ...Code:mysql_close()
Tout dépend de comment est faite la BD, de comment tu vas l'utiliser, et faut voir si ça a réellement une utilité de séparer la BD en plusieurs tables, surtout si c'est pour 2 champs, tant que ce ne sont pas des données cycliques[ cvm a dit:]Utilise les jointures plutot que les "where": http://sql.developpez.com/sqlaz/jointures/
Il n'aura pas la possibilité de vérifier dans son php.ini, étant donné que c'est un hébergeur mutualisé chez OVHCalvin80 a dit:A verifier dans ton php ini, mais si t'es connection ne sont pas persistante..
ca ne changera rien au problème...
Chez moi, le mysql_close est appelé automatiquement en fin de script php.
ça evite de fermer et rouvrir à chaque fois une connection...
en fait qd tu fais une jointure avec inner join par exemple tu etablis un filtre qui s'execute avant la jointure.Calvin80 a dit:hello![ cvm a dit:]Utilise les jointures plutot que les "where": http://sql.developpez.com/sqlaz/jointures/
interessant, mais peux tu expliquer en quoi c'est + performant (ou - gournamnd) ?
Vu que les deux sont bassées sur l'algebre relationnel (les projections dans ce cas ci), j'ai du mal à voir où peut être l'optimisation..
merci !
ben si... tu regardes si ta connection es encore ovuerte apres la fermmeture de ton script..Xyo _ a dit:Il n'aura pas la possibilité de vérifier dans son php.ini, étant donné que c'est un hébergeur mutualisé chez OVHCalvin80 a dit:"]A verifier dans ton php ini, mais si t'es connection ne sont pas persistante..
ca ne changera rien au problème...
Chez moi, le mysql_close est appelé automatiquement en fin de script php.
ça evite de fermer et rouvrir à chaque fois une connection...
ha ok !! pas mal ça ! merci (tres interessante, je vais investifuer[ cvm a dit:]en fait qd tu fais une jointure avec inner join par exemple tu etablis un filtre qui s'execute avant la jointure.Calvin80 a dit:hello![ cvm a dit:]Utilise les jointures plutot que les "where": http://sql.developpez.com/sqlaz/jointures/
interessant, mais peux tu expliquer en quoi c'est + performant (ou - gournamnd) ?
Vu que les deux sont bassées sur l'algebre relationnel (les projections dans ce cas ci), j'ai du mal à voir où peut être l'optimisation..
merci !
Tandis qu'avec le where tu executes la condition après avoir rapatrie les données et tu risques d'avoir des données dont tu n'as pas besoin.
Evidemment sur des tables avec peu de données, la différence est minime.
Ce qui n'a rien à voir avec ce fichierCalvin80 a dit:ben si... tu regardes si ta connection es encore ovuerte apres la fermmeture de ton script..
oui.. mais je voulais dire que ce paramètre est dans son php.ini (qu'il ne controle pas, comme tu l'as bien ditXyo _ a dit:Ce qui n'a rien à voir avec ce fichierCalvin80 a dit:ben si... tu regardes si ta connection es encore ovuerte apres la fermmeture de ton script..