Назад | Перейти на главную страницу

MySQL Created_tmp_disk_tables

Я пытаюсь повысить производительность нашего основного сервера MySQL. Это двухъядерный процессор Intel X5450 с 8 ГБ оперативной памяти. Это специальный ящик MySQL. Я только начинаю настраивать его, поэтому начинаю относительно недавно.

Я заметил, что Created_tmp_disk_tables был ужасно высоким, на 330к. Created_tmp_tables стоит только на 380к. Это может быть неплохо, за исключением того, что MySQL был перезапущен менее 4 часов назад.

Я установил следующее:

15:31:15 (9) > show global variables like '%table_size%';
+---------------------+------------+
| Variable_name       | Value      |
+---------------------+------------+
| max_heap_table_size | 1073741824 | 
| tmp_table_size      | 1073741824 | 
+---------------------+------------+

Эта страница предполагает, что меньшее из двух значений определяет, когда временная таблица станет таблицей на диске. Я бы подумал (лично), что 1 ГБ будет более чем достаточно для обработки временной таблицы любого размера, которую мы будем создавать, но, видимо, я ошибаюсь.

Может ли кто-нибудь предложить другие методы, чтобы уменьшить количество дисковых временных таблиц?

Если временные таблицы используются чрезмерно, я сначала подумал, что приложение, использующее базу данных, нуждается в оптимизации запросов.