<? include('funcions/checkcookie.php'); ?>
<h3>Оптимизация таблиц БД</h3>
<br>
<?
if($_POST["action"]=="optimize")
{
$mysqli->query("OPTIMIZE TABLE `tb_banner` , `tb_adminsms` , `tb_links` , `tb_rekpl` , `tb_datte` ,
`tb_advban` , `tb_rekadvr` , `tb_autorefreq` , `tb_chat` , `tb_configsites` ,
`tb_frame` , `tb_framezakaz` , `tb_istoriya` , `tb_domen` , `tb_mail` , `tb_mta` , `tb_news` , `tb_bablo` ,
`tb_refbv` , `tb_vospass` , `tb_sited` , `tb_statsilk` , `tb_statsilkzakaz` , `tb_textobv` , `tb_textzakaz` , `tb_upgrade` , `tb_users` ,
`who_online`, `tb_blockdin`, `tb_modul`, `tb_konkurs`, `tb_stokref`, `tb_zadaniya`, `tb_zadaniyastat`");
echo "<span style=\"color: #0d0\"><b>БД успешно оптимизирована</b></span>";
}
?>
<form action="" method="post">
<b>Чтобы оптимизировать БД нажмите кнопку</b>
<input type="submit" value="Оптимизировать">
<input type="hidden" value="optimize" name="action">
</form>
И получаеться вписываю все таблицы что есть в базы и оптимизация идёт на все таблицы=))
А как можно сделать чтобы он оптимизировал только те таблицы которые нужные?
Спустя 2 минуты, 45 секунд (2.11.2011 - 23:31) Winston написал(а):
Цитата (VELIK505 @ 2.11.2011 - 22:28) |
И получаеться вписываю все таблицы что есть в базы и оптимизация идёт на все таблицы=) |
А если указать не все, а нужные таблицы ?

Спустя 1 минута, 56 секунд (2.11.2011 - 23:33) VELIK505 написал(а):
Так я и говорю про то чтобы он в запрос цеплял только нужные таблицы. Так вот и надо как-то узнавать какие таблицы именно требуют оптимизации
Спустя 1 минута, 58 секунд (2.11.2011 - 23:35) Winston написал(а):
Хм... Сделай страничку, на которую выведи список таблиц в БД, напротив каждой, выведи чекбокс, и выбранные таблицы подставляй в запрос на оптимизацию.
Спустя 35 секунд (2.11.2011 - 23:36) alexbel2404 написал(а):
вывести список таблиц в чекбоксы) и отмечать какие оптимизировать) ничего сложного не вижу)
Спустя 4 минуты, 4 секунды (2.11.2011 - 23:40) Игорь_Vasinsky написал(а):
ну можно ещё проще
в цикле
имя таблицы -> кнопа оптимизировать -> hidden: name table
И передовать в ээтот код имя таблицы в POST
UPDATE: а ещё бы аякс подвесить... красота..
в цикле
имя таблицы -> кнопа оптимизировать -> hidden: name table
И передовать в ээтот код имя таблицы в POST
UPDATE: а ещё бы аякс подвесить... красота..
Спустя 6 секунд (2.11.2011 - 23:40) VELIK505 написал(а):
Это я понял как вывести их а как вывести какие требуют оптимизации? ну чтобы они автоматов выводились
Спустя 1 минута, 28 секунд (2.11.2011 - 23:41) Семён написал(а):
Честно говоря никогда не заморачивался с такими проверками, но помоему тебя интересует ANALYZE TABLE
Спустя 6 минут, 49 секунд (2.11.2011 - 23:48) VELIK505 написал(а):
Да я тоже не заморачивался просто надоело в pma заходить смотреть чё там оптимизировать и оптимизировать их. Охото как можно больше сделать с админки чтобы всё решалось
Спустя 57 секунд (2.11.2011 - 23:49) Игорь_Vasinsky написал(а):
а я чёт не знаю как мониторится не оптимизированное состояние состояние... по размеру времени которое затронул определённый запрос? да нет вроде..
вот нашёл что каким то запросом проверяют
вот нашёл что каким то запросом проверяют
Цитата |
Проверка БД выдала результаты Problems with indexes of table `cms_forum_posts` PRIMARY and INDEX keys should not both be set for column `id` Problems with indexes of table `cms_stats` More than one INDEX key was created for column `ip` Problems with indexes of table `cms_users` PRIMARY and INDEX keys should not both be set for column `id` |
Спустя 16 минут, 12 секунд (3.11.2011 - 00:05) VELIK505 написал(а):
Получаеться надо сначала промониторить таблицы не оптимизированые потом вывести их а потом по щелчку кнопки пустить запрос в них OPTIMIZE TABLE
Спустя 1 минута, 38 секунд (3.11.2011 - 00:07) Winston написал(а):
Так и надо.
Спустя 1 минута, 21 секунда (3.11.2011 - 00:08) Игорь_Vasinsky написал(а):
ну можно выводить все и мониторить в каком они состоянии
а можно выводить только требующие оптимизацию.
это как душе удобно...
а можно выводить только требующие оптимизацию.
это как душе удобно...
! |
Не удержался, Семён |
Спустя 52 минуты, 39 секунд (3.11.2011 - 01:01) VELIK505 написал(а):
Спасибо всем

Спустя 4 минуты, 9 секунд (3.11.2011 - 01:05) Игорь_Vasinsky написал(а):
Цитата |
Не удержался, Семён |
это как понимать?
Спустя 54 минуты, 25 секунд (3.11.2011 - 01:59) Nikitian написал(а):
Сперва можно подумать и самим понять что стоит оптимизировать. Оптимизировать нужно те таблицы, где происходят делиты или масштабные апдейты. Только это приводит к образованию пустот и дефрагментации файлов базы.
Непосредственно по вопросу "как найти таблицы, которым необходима оптимизация":
Получите 2 поля: база данных и таблица в ней соответственно. Их и надо оптимизировать.
Непосредственно по вопросу "как найти таблицы, которым необходима оптимизация":
select
TABLE_SCHEMA as "database",
TABLE_NAME as "table"
from
information_schema.`TABLES`
where
DATA_FREE>0
Получите 2 поля: база данных и таблица в ней соответственно. Их и надо оптимизировать.