Pull to refresh

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

Reading time1 min
Views988
Только что столкнулся с интересной особенностью таблиц типа 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: Опыта написания статей у меня ноль, поэтому принимается объективная критика, в т.ч. и к «рядкам».
Tags:
Hubs:
Total votes 23: ↑14 and ↓9+5
Comments13

Articles