Récupère la place perdue dans une BDD SQL

      Information sur le code

Optimise toutes les tables d'une base de données et gagne de la place en récupérant la place perdue dans une base de données SQL.


Information sur les mises à jour

Dernière mise à jour :

    14 Sept 2019
    fonctionnement du code vérifié

2 027  vues
Compatibilité du code
PHP 7 et PHP 8
  code classé dans   MySQLi
  code source classé dans   MySQLi
 
 01    
 02    
 03    
 04    
 05    
 06    
 07    
 08    
 09    
 10    
 11    
 12    
 13    
 14    
 15    
 16    
 17    
 18    
 19    
 20    
 21    
 22    
 23    
 24    
 25    
 26    
 27    
 28    
 29    
 30    
 31    
 32    
 33    
 34    
 35    
 36    
 37    
 38    
 39    
 40    
 41    
 42    
 43    
 44    
 45    
 46    
 47    
 48    
 49    
 50    
                               
/*------------------------------*/
/*
Titre : Récupère la place perdue dans une BDD SQL

Date édition : 14 Sept 2019
Date mise a jour : 14 Sept 2019

Rapport de la maj:
- fonctionnement du code vérifié
*/
/*------------------------------*/

$db_server = 'localhost'; // Adresse du serveur MySQL
$db_name = ''; // Nom de la base de données
$db_user_login = 'root'; // Nom de l'utilisateur
$db_user_pass = ''; // Mot de passe de l'utilisateur

// Ouvre une connexion au serveur MySQL
$conn = mysqli_connect($db_server,$db_user_login, $db_user_pass, $db_name);

?>
<html>
<head>
<title>Récupère la place perdu dans une base de données
MySQL</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
//on prépare la requête
$sql = "OPTIMIZE TABLE ";
//on recherche toutes les données des tables
$req =$conn->query('SHOW TABLE STATUS');
while($data = mysqli_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'].'`, ';
echo $data['Name'] . "<br>\n";
}
}
//on enlève le ', ' de trop
$sql = substr($sql,(strlen($sql)-2));
//et on optimise
$conn->query($sql);
mysqli_close($conn);
?>
</body>
</html>

      Fonctions du code - Doc officielle PHP

   php.net  
Description
Versions PHP
    echo
Affiche une chaîne de caractères
PHP 4, 5, 7 et 8
    mysqli_connect
Alias de mysqli::__construct
PHP 5, 7 et 8
    strlen
Calcule la taille d'une chaîne
PHP 4, 5, 7 et 8
    substr
Retourne un segment de chaîne
PHP 4, 5, 7 et 8


 Autres snippets qui pourraient vous intéresser

Récupère la place perdue dans une BDD MySQL

Compatibilité : PHP 4, PHP 5

Ce script permet d'optimiser toutes les tables d'une base de données et de gagner un peu de place.

Déplacer un fichier dans un autre répertoire

Compatibilité : PHP 5, PHP 7, PHP 8

Déplace un fichier avec la source et la cible en paramètre. La fonction renvoie 3 états d'erreurs en cas d'échec.

Place tous les mots d'1 chaine dans 1 tableau

Compatibilité : PHP 5, PHP 7, PHP 8

Place tous les mots d'une chaine dans un tableau avec la fonction preg_split () et une expression régulière.

* Requêtes exécutées avec Recherche Contextuelle

  Les derniers scripts PHP / MySQL

GDidees 4.0.8

logo GDidees
Langue langue fr
Date  hier
Taille 7 Mo
Catégorie CMS

Moodle 5.1.3

logo Moodle
Langue langue fr
Date  hier
Taille 94 Mo
Catégorie CMS

MantisBT 2.28.1

logo MantisBT
Langue langue fr
Date 26 Mars 2026
Taille 17 Mo
Catégorie Administration

Joomla 6.0.3

logo Joomla
Langue langue fr
Date 26 Mars 2026
Taille 32 Mo
Catégorie CMS

ILIAS 10.6

logo ILIAS
Langue langue de
Date 26 Mars 2026
Taille 150 Mo
Catégorie Administration

EspoCRM 9.3.4

logo EspoCRM
Langue langue us
Date 26 Mars 2026
Taille 40 Mo
Catégorie CRM

  14 Sept 2019

Information sur les mises à jour

Dernière mise à jour :

    14 Sept 2019
    fonctionnement du code vérifié

2 027 Vues
Compatibilité du code
PHP 7, PHP 8