Я пытаюсь получить место, которое таблица, использующая механизм хранения MyRocks, занимает на диске, и я получаю противоречивые результаты между тем, что я ожидаю, запросом на information_schema
и размером, сообщаемым ОС.
Чтобы получить размер в соответствии с сообщением MariaDB, я использую следующий оператор выбора:
select table_name 'Table Name',
(data_length+index_length)/power(1024,3) 'Table Size in GB'
from information_schema.tables where table_schema="MyTableName";
, который возвращает действительно небольшое число для того, что я делаю, до точки, гдеЯ сомневаюсь, что он сообщает фактический размер (0,4 ГБ для 4 000 000 строк с большим количеством текста).
Если я запускаю команду du -h /var/lib/mysql/#rocksdb/
, я получаю размер диска 2,4 ГБ, что немного больше, чем я ожидал.Однако, если я правильно понимаю, MyRocks сжимает данные при вставке данных, поэтому возможно, что дисковое пространство, сообщаемое командой du
, не соответствует фактическому размеру таблицы.
Итак, существует ли надежный методполучить размер стола?Я уже использую правильный способ получить размер таблицы?