Форум об интернет-маркетинге
Вернуться   Форум об интернет-маркетинге > Технические вопросы > Веб-строительство

Ответ
 
Опции темы
Старый 27.03.2021, 05:10   #1
sanek1991
Senior Member
Профессор
 
Регистрация: 21.06.2020
Сообщений: 859
Сказал(а) спасибо: 80
Получил(а) "Спасибо": 187
Нарушения: 0/0 (0)
Репутация: 74780

Thread Starter После оптимизации таблицы MyISAM её размер увеличился

Была таблица в БД, MyISAM, размером 870 МВ
Сделал её оптимизацию через phpmyadmin.
После оптимизации таблица стала размером 871 MB.
То есть, её размер увеличился на 1 MB.
Это какой-то глюк, или возможно ?
sanek1991 вне форума   Ответить с цитированием
Старый 27.03.2021, 10:43   #2
leonidukg
Работаю ⌛
Доцент
 
Аватар для leonidukg
 
Регистрация: 10.07.2020
Сообщений: 162
Сказал(а) спасибо: 6
Получил(а) "Спасибо": 250
Нарушения: 0/0 (0)
Репутация: 138205
Отправить сообщение для leonidukg с помощью ICQ

По умолчанию Re: После оптимизации таблицы MyISAM её размер увеличился

Чисто погрешность, в чём суть вопроса то? Вообще уже надо переходить на InnoDB какие MyISAM в 2021
leonidukg вне форума   Ответить с цитированием
Старый 27.03.2021, 11:20   #3
sanek1991
Senior Member
Профессор
 
Регистрация: 21.06.2020
Сообщений: 859
Сказал(а) спасибо: 80
Получил(а) "Спасибо": 187
Нарушения: 0/0 (0)
Репутация: 74780

Thread Starter Re: После оптимизации таблицы MyISAM её размер увеличился

Цитата:
Сообщение от leonidukg Посмотреть сообщение
Чисто погрешность, в чём суть вопроса то? Вообще уже надо переходить на InnoDB какие MyISAM в 2021
Не, это не погрешность. Там были значения до байта.
Это я здесь сократил до мегабайтов, что-бы легче было понять суть.

Суть вопроса в том, что я удалил часть записей прямо из БД, её размер не изменился, я оптимизировал, и размер вырос. Может был глюк и надо по новой оптимизировать? Я 20 минут ждал пока phpmyadmin выдаст результат.
sanek1991 вне форума   Ответить с цитированием
Старый 27.03.2021, 13:18   #4
leonidukg
Работаю ⌛
Доцент
 
Аватар для leonidukg
 
Регистрация: 10.07.2020
Сообщений: 162
Сказал(а) спасибо: 6
Получил(а) "Спасибо": 250
Нарушения: 0/0 (0)
Репутация: 138205
Отправить сообщение для leonidukg с помощью ICQ

По умолчанию Re: После оптимизации таблицы MyISAM её размер увеличился

Цитата:
Сообщение от sanek1991 Посмотреть сообщение
Не, это не погрешность. Там были значения до байта.
Это я здесь сократил до мегабайтов, что-бы легче было понять суть.

Суть вопроса в том, что я удалил часть записей прямо из БД, её размер не изменился, я оптимизировал, и размер вырос. Может был глюк и надо по новой оптимизировать? Я 20 минут ждал пока phpmyadmin выдаст результат.
не нужно делать никакой оптимизации. Лучше выгрузите в SQL файл и заново загрузите. Вот это будет отличная оптимизация.
leonidukg вне форума   Ответить с цитированием
Старый 27.03.2021, 13:27   #5
sanek1991
Senior Member
Профессор
 
Регистрация: 21.06.2020
Сообщений: 859
Сказал(а) спасибо: 80
Получил(а) "Спасибо": 187
Нарушения: 0/0 (0)
Репутация: 74780

Thread Starter Re: После оптимизации таблицы MyISAM её размер увеличился

Цитата:
Сообщение от leonidukg Посмотреть сообщение
не нужно делать никакой оптимизации. Лучше выгрузите в SQL файл и заново загрузите. Вот это будет отличная оптимизация.
Была такая мысль, но подумал что файл будет слишком большой и сервер не справится. На этом сайте движок xenforo, таблицы большие.
Кстати, нашел у разраба движка ответ почему одна таблица в MyISAM
Older versions of InnoDB did not support FULLTEXT indexes, it is only supported since MySQL 5.6 - and XF 2 does only requrie MySQL 5.5.

Вот такие таблицы на этом сайте
Тип файла: jpg 1.jpg (68.0 Кб, 34 просмотров)
sanek1991 вне форума   Ответить с цитированием
Старый 27.03.2021, 13:52   #6
leonidukg
Работаю ⌛
Доцент
 
Аватар для leonidukg
 
Регистрация: 10.07.2020
Сообщений: 162
Сказал(а) спасибо: 6
Получил(а) "Спасибо": 250
Нарушения: 0/0 (0)
Репутация: 138205
Отправить сообщение для leonidukg с помощью ICQ

По умолчанию Re: После оптимизации таблицы MyISAM её размер увеличился

Цитата:
Кстати, нашел у разраба движка ответ почему одна таблица в MyISAM
Если Mysql выше 5,5 то смело переводим в InnoDB

В InnoDB НЕТ фактического удаления. Есть пометка на удаление, но запись остаётся внутри БД. Оптимизации также нет в InnoDB, в новых версиях Mysql он просто делает тоже самое, что и выгрузка в файлик и заново закачка. Тогда удаляются все старые записи.
leonidukg вне форума   Ответить с цитированием
Сказали спасибо:
Старый 27.03.2021, 15:30   #7
XPraptor
Думаю, что надо худеть
Академик
 
Аватар для XPraptor
 
Регистрация: 22.06.2020
Сообщений: 1,791
Сказал(а) спасибо: 1,526
Получил(а) "Спасибо": 1,939
Нарушения: 0/0 (0)
Репутация: 608321

По умолчанию Re: После оптимизации таблицы MyISAM её размер увеличился

sanek1991, У тебя при просмотре размера могли в кэше данные висеть и во временных таблицах, после оптимизации был flush и все данные ушли на диск, вот ты и увидел реальный размер.

Да, fulltext поиск нормально работает только на myisam, в иннодб он убог и обрезан (и то с 5.7 и выше версий, коих нет на хостингах, на хостингах только 5.6 верси mysql).

Myisam более гибок, в сотни раз быстрее на многих операциях, и много чего исполняет, что в иннодб не доступно.

За это он платит стабильностью файла индексов, который может вылетать, но зато никогда не может вылететь сама таблица (что в иннодб головная боль и полный пи... для восстановления), по которой можно просто заново создать файл индексов REPAIR...

Если у вас есть большие таблицы myisam с большими индексами, любой код который начинает вставку или удаление из этих таблиц должен начинаться со строк:
Код:
$rez=$_mysqli->query("SELECT идполе FROM tablename LIMIT 1");
if(!$rez || !$rez->num_rows){
	$_mysqli->query("REPAIR TABLE tablename");
}
В этом случае восстановление слетевшего индекса на таблице в 3Gb осуществляется в ~4-6 сек. и дальше код продолжает работать нормально. Вы никогда не получите вылеты myisam, если будете придерживаться этой парадигмы.
Состояние бота google и полезные ресурсы: всё про гугл
XPraptor вне форума   Ответить с цитированием
3 пользователя(ей) сказали cпасибо:
Старый 27.03.2021, 16:21   #8
feradet
Member
Аспирант
 
Регистрация: 16.11.2020
Сообщений: 57
Сказал(а) спасибо: 38
Получил(а) "Спасибо": 56
Нарушения: 0/0 (0)
Репутация: 6342

По умолчанию Re: После оптимизации таблицы MyISAM её размер увеличился

Цитата:
Сообщение от leonidukg Посмотреть сообщение
Вообще уже надо переходить на InnoDB какие MyISAM в 2021
Звучит прям как "русский язык устарел".
"Надо" зависит не от года использования, а от того что в этой базе и что с ней делают.
feradet вне форума   Ответить с цитированием
Старый 31.03.2021, 03:33   #9
sanek1991
Senior Member
Профессор
 
Регистрация: 21.06.2020
Сообщений: 859
Сказал(а) спасибо: 80
Получил(а) "Спасибо": 187
Нарушения: 0/0 (0)
Репутация: 74780

Thread Starter Re: После оптимизации таблицы MyISAM её размер увеличился

Цитата:
Сообщение от leonidukg Посмотреть сообщение
В InnoDB НЕТ фактического удаления. Есть пометка на удаление, но запись остаётся внутри БД.
Интересно, чисто ради любопытства - а можно чем-то посмотреть эти "помеченные на удаление записи" в БД?
Ну, и при необходимости, восстановить их.
sanek1991 вне форума   Ответить с цитированием
Старый 31.03.2021, 11:03   #10
leonidukg
Работаю ⌛
Доцент
 
Аватар для leonidukg
 
Регистрация: 10.07.2020
Сообщений: 162
Сказал(а) спасибо: 6
Получил(а) "Спасибо": 250
Нарушения: 0/0 (0)
Репутация: 138205
Отправить сообщение для leonidukg с помощью ICQ

По умолчанию Re: После оптимизации таблицы MyISAM её размер увеличился

Цитата:
Сообщение от sanek1991 Посмотреть сообщение
Интересно, чисто ради любопытства - а можно чем-то посмотреть эти "помеченные на удаление записи" в БД?
Ну, и при необходимости, восстановить их.
Есть старенькая статья:
https://www.percona.com/blog/2012/02...db-tablespace/
leonidukg вне форума   Ответить с цитированием
Сказали спасибо:
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Размер шрифта в ЦСС - font-size - в чём разница? Had Веб-строительство 26 22.02.2021 14:33
Жизнь сайта после МПК Aleggator Яндекс 14 08.02.2021 17:56
я люблю после прогулки ziliboba0213 Курилка 22 23.11.2020 22:23
Размер шрифта в редакторе на Вордпресс rty9000 Веб-строительство 30 26.10.2020 08:55


Текущее время: 13:14. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc. Перевод: zCarot