Я пытаюсь повысить производительность нашего основного сервера 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 ГБ будет более чем достаточно для обработки временной таблицы любого размера, которую мы будем создавать, но, видимо, я ошибаюсь.
Может ли кто-нибудь предложить другие методы, чтобы уменьшить количество дисковых временных таблиц?
Если временные таблицы используются чрезмерно, я сначала подумал, что приложение, использующее базу данных, нуждается в оптимизации запросов.