Как стать автором
Обновить

Интересная особенность таблиц типа InnoDB

Время на прочтение1 мин
Количество просмотров987
Только что столкнулся с интересной особенностью таблиц типа InnoDB: вызов запроса SHOW TABLE SATUS; показывает неточное количество рядков в таблице, причем чем больше рядков, тем больше погрешность. Подробности под катом.

Например, в таблице размером 28.5Мб и количеством рядков в 390,000 показывало значения в диапазоне от 190,000 до 509,000.

Пошуршав в мануале нашел уточнение:
The number of rows. Some storage engines, such as MyISAM, store the exact count. For other storage engines, such as InnoDB, this value is an approximation, and may vary from the actual value by as much as 40 to 50%. In such cases, use SELECT COUNT(*) to obtain an accurate count.

Особенность необычная и, как по мне, немного странная, но это не баг.

Может кто-нибудь объяснит почему так?

P.S. Прошу сильно не минусовать, это мой первый блин.com

upd: Опыта написания статей у меня ноль, поэтому принимается объективная критика, в т.ч. и к «рядкам».
Теги:
Хабы:
Всего голосов 23: ↑14 и ↓9+5
Комментарии13

Публикации

Истории

Ближайшие события

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
19 сентября
CDI Conf 2024
Москва
20 – 22 сентября
BCI Hack Moscow
Москва
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн
25 сентября
Конференция Yandex Scale 2024
МоскваОнлайн
28 – 29 сентября
Конференция E-CODE
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн