MySQL сервер ушел ОШИБКА - PullRequest
0 голосов
/ 19 января 2011
Warning: mysql_query() [function.mysql-query]: 
MySQL server has gone away in filename.php on line 201  

query:

SELECT * FROM ta
    LEFT JOIN tb ON ta_id = tb_oid 
    LEFT JOIN tc ON ta_id = tc_oid 
    LEFT JOIN td ON ta_id = td_oid
WHERE 
    ta_time1 > 0 OR ta_time2 > 0 OR 
    tb_time1 > 0 OR tb_time2 > 0 OR 
    tc_time1 > 0 OR tc_time2 > 0 OR 
    td_time1 > 0 OR td_time2 > 0 
GROUP BY td_id 
ORDER BY  
    ta_time1 DESC, ta_time2 DESC,
    tb_time1 DESC, tb_time2 DESC,
    tc_time1 DESC, tc_time2 DESC,
    td_time1 DESC, td_time2 DESC
LIMIT 0, 40  

Как я могу оптимизировать этот запрос?

1 Ответ

2 голосов
/ 19 января 2011
  • Установить индексы для всех полей, если вы этого еще не сделали.
  • Используйте как можно меньше полей.Например, если идентификаторы представляют собой 128-байтовые строки, в которых вы можете использовать крошечное целое число, используйте последний

Кстати, если вы не знаете, что означает "ушел", пожалуйста, проверьте руководство: http://dev.mysql.com/doc/refman/5.0/en/gone-away.html

...