какое слово вам не понятно?
If there is an ORDER BY clause and a different GROUP BY clause, or if the ORDER BY or GROUP BY contains columns from tables other than the first table in the join queue, a temporary table is created.
iHead добавил 16.11.2011 в 13:19
причины создания временных таблиц известны (ок, соглашусь, что не только из-за джойнов).
раз они создаются, значит такие запросы у ТС есть. значит есть, что оптимизировать :)
Я не говорю, что надо отказываться от отношений. Однако отказ от джойнов на частовыполняемых (криво)написанных запросах, может спасти от создания временных таблиц и ускорить выборку.
О причинах создания временных таблиц можно почитать в мануале.
ну, в перспективе нормальные движки к этому и придут.
ибо когда быдлокод уже написан и покрывает массу функционала, разработчикам ничего не останется, как полировать его.
перепишите код без джойнов, не будет у вас временных таблиц.
в "Депо" ответили, что цены на hdd, ожидается, нормализуются к марту.
оно и не должно уменьшаться. эти параметры отвечают за то, сколько файловых дескрипторов держать открытыми. есть небольшой оверхед, если серверу придется при каждом обращении к таблице по новой открывать соответствующие ей файлы. при использовании кеша дескрипторов этот оверхед исчезает, но появляется новый - на поиск дескриптора в кеше и обслуживание кеша :)
у нас на серверах table_cache, и table_definition_cache - несколько десятков тысяч.
делайте отладку кода, например, методом половинного деления или подробным логированием происходящего.
их много.
попробуйте MySQL Tuning Primer Script
вы логи MySQL посмотрели?
если MaxClients и max-connections сбалансированы + поправка на скрипты в кроне и другой софт, юзающий БД, то даже при большой нагрузке на проц, вы не получите ошибку, о которой говорите.
+ вы бы глянули логи MySQL