Почему сервер MySQL не записывает таблицы в файлы? - PullRequest
1 голос
/ 02 июня 2011

Недавно я пишу код на python для вставки HTML-текста в таблицу. После написания кода около 200 000 HTML-страниц я могу использовать select для получения всех этих данных. Тем не менее, я считаю, что сервер MySQL не записывает данные в файлы. Я проверяю использование памяти и обнаруживаю, что программа mysqld.exe потребляет более 1,5 ГБ памяти. Я обыскиваю весь диск по имени таблицы, но нашел только файл размером 9 КБ, связанный с именем таблицы. Кстати, я также проверил файл mysql.ini. Конфигурация пути правильная. Затем я использую mysqldump для резервного копирования этой таблицы. Эта команда дает мне более 7 ГБ файла sql. Я проверяю это снова и обнаруживаю, что в моей папке datadir есть файл с 20GB ibdata Что означает этот файл? Почему нет файла, связанного с моей таблицей? MySQL просто хранит данные в памяти?

Ответы [ 2 ]

1 голос
/ 02 июня 2011

Запустите SHOW TABLE STATUS и проверьте значение механизма хранения. Возможно, он использует MEMORY, хотя я был бы удивлен, если это так, и вы этого не знали (потому что вам пришлось бы установить его явно).

0 голосов
/ 03 июня 2011

Возможно, вы находитесь на InnoDB, но не включили innodb_file_per_table, поэтому все записывается в один файл.

...