Tabela MySQL ma polecenie Show Table Status, które drukuje podsumowanie tabeli, ale zawiera wiele informacji o wszystkich tabelach w bieżącej bazie danych (aby zmienić bazę danych, użyj 'use database_name’), co nie jest zbyt przyjazne dla użytkownika.
To, co chcemy wiedzieć, to rozmiar danych i rozmiar indeksu, możesz użyć następującego skryptu PHP, aby wydrukować takie informacje.
<?php
require('conn.php'); // connect your database using e.g. $connection = mysqli_connect(...)
$query = "show table status";
$result = mysqli_query($connection, $query);
$ds = 0;
$is = 0;
echo "<table style='text-align:left;width:100%'>";
echo "<tr style='background:blue;color:yellow;'><th>Name</th><th>Data</th><th>Index</th></tr>";
function format($c) {
return (round($c / 1024, 2)). 'KB';
}
while ($row = mysqli_fetch_assoc($result)) {
echo "<tr><th>". ($row['Name']). '</th>';
echo "<th>". format($row['Data_length']). "</th>";
echo "<th>". format($row['Index_length']). "</th>";
$ds += $row['Data_length'];
$is += $row['Index_length'];
echo "</tr>";
}
echo "<tr style='background:lightblue;'>";
echo "<th>". format($ds + $is). "</th><th>". format($ds). "</th><th>". format($is). "</th>";
echo "</tr></table>";
Oto przykład użycia z typowej bazy danych wordpress. Formatujemy rozmiar za pomocą KB. W ten sposób możesz od czasu do czasu śledzić wykorzystanie tabeli. Możesz także zmienić stylowy CSS w powyższym kodzie, aby sformatować dane wyjściowe.
mysql-show-table-status-in-php-example