Script PHP - Optimiser toutes les bases de données.
13 messages • Page 1 sur 1
Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics
Script PHP - Optimiser toutes les bases de données.
Bonjour,
Je souhaiterai savoir s'il existe un script permettant d'optimiser toutes les bases de données, sans devoir renseigner quel bases sont existantes.
Ceci pour but sur un dédié de lancer le script une fois par mois...
Je souhaiterai savoir s'il existe un script permettant d'optimiser toutes les bases de données, sans devoir renseigner quel bases sont existantes.
Ceci pour but sur un dédié de lancer le script une fois par mois...
-

Audiofeeline - WRInaute accro

- Messages: 5181
- Inscription: Jeu Oct 20, 2005 19:47
Il y a effectivement une commande mais là, je ne me rappel plus trop...
Regarde sur les sites de PHP, ça doit être mis quelque part...
Regarde sur les sites de PHP, ça doit être mis quelque part...
Je te laisse le soin de faire le script mais je te donne les 3 requêtes qui te serviront à construire le tout.
(dans celle-là, ne te sers que des lignes où Data_free > 0)
Puis pour finir
Au besoin je te ponds le code entier
- Code: Tout sélectionner
SHOW DATABASES
- Code: Tout sélectionner
USE {$database}
- Code: Tout sélectionner
SHOW TABLE STATUS
(dans celle-là, ne te sers que des lignes où Data_free > 0)
Puis pour finir
- Code: Tout sélectionner
OPTIMIZE TABLE {$table}
Au besoin je te ponds le code entier
Merci je fais chercher un peu...
En fait ça je connaissais:
OPTIMIZE TABLE
Mais je sais que l'on pouvait le faire pour une table spécifique (donc il faut connaitre toutes les tables, un peu fastidieux, si l'on en rajoute chaque foi..).
Le truc est que je suis entrain de chercher une méthode pas trop lourde pour lister les table, ou simplement le fiare d'une manière global sur toute les tables, un genre de ALL.
En fait ça je connaissais:
OPTIMIZE TABLE
Mais je sais que l'on pouvait le faire pour une table spécifique (donc il faut connaitre toutes les tables, un peu fastidieux, si l'on en rajoute chaque foi..).
Le truc est que je suis entrain de chercher une méthode pas trop lourde pour lister les table, ou simplement le fiare d'une manière global sur toute les tables, un genre de ALL.
Petite astuce, voici à quoi servent respectivement les requêtes que je t'ai donné :
- Lister les bases de données
- Sélectionner une base de données
- Lister les tables de la base en cours d'utilisation (cf #2)
- Optimiser une table donnée
-_- OK bon spa grave, j'te fais le script ça ira plus vite.
(en cours d'utilisation : cf #2 avec le USE database, ça concerne la base, pas la table et indépendamment de ce que tes scripts font ailleurs).
Bref j'te fais ça quand je peux hein.
(en cours d'utilisation : cf #2 avec le USE database, ça concerne la base, pas la table et indépendamment de ce que tes scripts font ailleurs).
Bref j'te fais ça quand je peux hein.
- Code: Tout sélectionner
<?php
$mysql_connexion = mysql_connect('localhost', '***', '***', true);
//ETAPE 1 : on liste les bases de données
$db = array();
$mysql_query = mysql_query("SHOW DATABASES;");
while( $ligne = mysql_fetch_assoc($mysql_query) )
{
array_push($db, $ligne['Database']);
}
//ETAPE 2 : pour chaque base, on liste les tables pour ne conserver que celles qu'on optimisera
foreach( $db as $database )
{
mysql_query("USE `{$database}`");
//
$tables = array();
$mysql_query = mysql_query("SHOW TABLE STATUS;");
while( $ligne = mysql_fetch_assoc($mysql_query) )
{
//seulement s'il y a des pertes de données
if( $ligne['Data_free'] > 0 )
{
array_push($tables, '`'.$ligne['Name'].'`');
}
}
//Optimisation
$tables = implode(',', $tables);
mysql_query("OPTIMIZE TABLES {$tables};");
}
//ETAPE 3 : on clôture la connexion
mysql_close($mysql_connexion);
unset($mysql_connexion, $mysql_query, $tables, $database, $db, $ligne);
?>
Une question:
Avec le USE pourquoi les `{ }` ?
http://dev.mysql.com/doc/refman/5.0/fr/use.html
ici ils ne sont pas mentionné ? une sécurité ?
Pareil pour ça :
Je ne comprends pas les `.
Avec le USE pourquoi les `{ }` ?
http://dev.mysql.com/doc/refman/5.0/fr/use.html
ici ils ne sont pas mentionné ? une sécurité ?
Pareil pour ça :
- Code: Tout sélectionner
array_push($tables, '`'.$ligne['Name'].'`');
Je ne comprends pas les `.
Normal car là ça concerne PHP. Ca permet de bien délimiter la variable qu'on utilise dans une chaîne.
revient au même que
A part que la deuxième écriture est un poil plus rapide mais plus chiante à lire (à mes yeux).
Pour l'histoire de l'array_push, je stocke dans un tableau le nom des tables encadrées avec des ` (pour éviter des problèmes de mots clés réservés à MySQL). C'est tout. tu peux les enlever mais si un jour tu nommes mal une table, ça la fera planter ^^
- Code: Tout sélectionner
"USE `{$database}`"
revient au même que
- Code: Tout sélectionner
"USE `".$database."`"
A part que la deuxième écriture est un poil plus rapide mais plus chiante à lire (à mes yeux).
Pour l'histoire de l'array_push, je stocke dans un tableau le nom des tables encadrées avec des ` (pour éviter des problèmes de mots clés réservés à MySQL). C'est tout. tu peux les enlever mais si un jour tu nommes mal une table, ça la fera planter ^^
13 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par Julien Coquet, expert certifié officiellement par Google Analytics.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- 10 règles pour optimiser son référencement sur Google
- Comment créer une page web en PHP
- Les albums web Picasa passent à 1 Go de stockage
- Incidence du PHP sur le référencement
- AdSense Tracking : statistiques détaillées sur les clics AdSense
- Photos satellite des incendies en Grèce dans Google Earth
- Ajouter un Gadget Google sur son site
- Google Desktop pour Mac OS X
- Trouvez les bons mots-clés
- Article sur les fluctuations des résultats de Google
- Optimiser les liens (référencement) : les bases à connaître
- SQL / Mysql / PHP : utiliser plusieurs bases à la fois
- Petit soucis pour optimiser un script
- Optimiser while php
- Optimiser un base de données en php ?
- Executer script PHP puis visualiser le script Impossible?
- comment optimiser un site web dynamique PHP
- Optimiser apache / php pour un tout petit serveur
- Optimiser serveur/code pour jeu développé en PHP
- Aide pour optimiser l'écriture d'une requete PHP/MYSQL
- Script php pour liens du type http://www.monsite.com/link.php?id=152
- [ Script PHP ] Problème de connexion (session php)
- Script php ?
- un script en php
- script php
Consultez la description détaillée des produits ou services de Google suivants : Google AdWords API
- Test data centers Google
Cet outil vous permet d'afficher sur une seule page les résultats Google effectués sur de nombreux data centers (centres de données).
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités


le forum