Задавайте вопросы, мы ответим
Вы не зашли.
Вот, решил освоить эту софтинку. Сразу возник вопрос.
При просмотре спсика таблиц БД в столбце Index Length реально указан размер индекса таблицы? Т.е. если я использую именной индекс для таблицы, то памяти нужно выделать не меньше, чем написано в Index Length?
Неактивен
Вопрос не по GUI Tools, на самом деле. GUI Tools от себя никакую инфу не формирует. Вы можете увидеть Index length, выполнив в консоли
SHOW TABLE STATUS LIKE 'имя_таблицы' \G
То, что он показывает у меня совпадает с размером MYI-файла (для MYISAM). Для Innodb также показывает некое число, сопоставить которое не с чем (видимо это размер индекса, внутри датафайла innodb). Думаю, что в памяти будет занимать не мешьше, чем в MYI-файле. На большой таблице Вам ничего не стоит проверить насколько mysqld стал съедать больше памяти после LOAD INDEX INTO CACHE
Неактивен
Добавлю еще, что занимаемый объем зависит во многом от выравниваний. В памяти, например, все данные выравниваются до 4 байт. Индекс Innodb по структуре отличается от индекса MyISAM. В MyISAM все индексы равнозначны и указывают на данные. В Innodb, первичный индекс встроен в хранимые данные (если его нет, создается невидимый primary key), то есть фактически данные хранятся упорядоченные по первичному индексу. Вторичные индексы указывают не на данные, а на значения первичного ключа.
Неактивен
rgbeast написал:
Вопрос не по GUI Tools, на самом деле. GUI Tools от себя никакую инфу не формирует.
В нём я увидел это впервые До этого только в phpMyAdmin с базой общался.
rgbeast написал:
То, что он показывает у меня совпадает с размером MYI-файла (для MYISAM).
У меня тоже так. Просто по предыдущим дискуссиям решил грузить индекс таблицы в память, сейчас он занимает 600Мб, а проект только недавно запустился и будет развиваться, т.е. с такими темпами мои 4Гб памяти скушает в лучшем случае за месяц
Неактивен