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

  Information

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 011  vues
Compatibilité du code
PHP 7 et PHP 8
  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

Détail    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

WebCalendar 1.2.7

Script PHP / MySQL
Langue langue fr
Date  aujourd'hui
Taille 2 Mo
Catégorie Calendriers

Web ERP Accounting 5.0.1

logo Web ERP Accounting
Langue langue us
Date  aujourd'hui
Taille 69 Mo
Catégorie Logiciels

Dolibarr ERP 23.0.0

logo Dolibarr ERP
Langue langue fr
Date  aujourd'hui
Taille 88 Mo
Catégorie Logiciels

Simple Machines Forum 2-1-7

logo Simple Machines Forum
Langue langue fr
Date  aujourd'hui
Taille 4 Mo
Catégorie Forums

Forms Tools 3.1.1

Script PHP / MySQL
Langue langue en
Date  aujourd'hui
Taille 11 Mo
Catégorie Formulaires

ProcessWire 3.0.255

logo ProcessWire
Langue langue fr
Date  aujourd'hui
Taille 14 Mo
Catégorie CMS

  14 Sept 2019

Information sur les mises à jour

Dernière mise à jour :

    14 Sept 2019
    fonctionnement du code vérifié

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