MySql постоянно падает

1 2345 6
pastuhoff
На сайте с 29.10.2005
Offline
229
#21

Там id непрерывны? Может так сделать (индекс по id будет задействован):

WHERE id>=513500 AND id<513600 ORDER BY id ASC

Коллекционер доменных имен.
[Удален]
#22
netwind:
Скорее всего, этот запрос нормально работает

Маловероятно.

---------- Добавлено 28.08.2013 в 15:52 ----------

pastuhoff:
Там id непрерывны? Может так сделать (индекс по id будет задействован):
WHERE id>=513500 AND id<513600 ORDER BY id ASC

Смотрите запрос без where. Там такая же картинка. Индексы не используются не из-за запроса, причина более глобальная.

N
На сайте с 06.05.2007
Offline
419
#23

WapGraf, нет, в запросе без where картина вообще другая. Там то понятно почему все строки перебираются.

Если хочется докопаться до истины, нужно делать как тут уже подсказывали:

ThePriest:
Это проверяется и без slow log:
flush status;
select ...тут наш запрос...;
show status like 'Handler_read_%';
Кнопка вызова админа ()
[Удален]
#24

Да я знаю как себя ведет мускул при использовании limit. Но Using filesort не должно быть при этом все равно!

Даже проверил у себя на большой таблице, может я чего забыл, но таки нет. Ничего нормального тут нету при наличии ключа. Тут явно не работает индекс. Другой причины, кроме как отсутствие возможности быть из-за кривых параметров мускула, я не вижу.

N
На сайте с 06.05.2007
Offline
419
#25

WapGraf, изначально было с WHERE и тоже медленно работало, потом ТС зачем-то полез выдумывать эквивалентные по результатам запросы без WHERE и еще больше ухудшил ситуацию теперь уже явно плохими планами, а вы их зачем-то начали обсуждать. Не надо так (c)

IL
На сайте с 20.04.2007
Offline
435
#26

Ещё можно попробовать индексы перестроить (может занять некоторое время.. по возможности делать ночью когда все спят когда нет посетителей)

FLUSH TABLES; 
REPAIR TABLE phones;

Как вариант - скопировать в другую таблицу.

... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
[Удален]
#27
netwind:
WapGraf, изначально было с WHERE и тоже медленно работало, потом ТС зачем-то полез выдумывать эквивалентные по результатам запросы без WHERE и еще больше ухудшил ситуацию теперь уже явно плохими планами, а вы их зачем-то начали обсуждать. Не надо так (c)

Может и не надо, но сути это не меняет. Индекс должен использоваться (если есть где ему хранится), а не используется. Здесь вины клиента нету, это хостера забота.

---------- Добавлено 28.08.2013 в 20:30 ----------

ivan-lev:
Ещё можно попробовать индексы перестроить (может занять некоторое время.. по возможности делать ночью когда все спят когда нет посетителей)
FLUSH TABLES; 

REPAIR TABLE phones;


Как вариант - скопировать в другую таблицу.

Если не ошибаюсь, то при таком размере таблицы на джино сработают лимиты.

N
На сайте с 06.05.2007
Offline
419
#28

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

[Удален]
#29

netwind, сгенерируйте табличку на пару млн. записей сделайте пару выборок, выполните explaine и получите filesort. После оптимизируйте мускул, выполните explaine повторно и никакого filesort не будет.

А filesort это что? Тормоза, нагрузка и т.д.

N
На сайте с 06.05.2007
Offline
419
#30

WapGraf, решили меня перенудить? не получится. где тут в оригинальном запросе filesort ?

Отличный план с использованием индекса. Только прогноз rows не правильный. Но это просто особенность mysql.

1 2345 6

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий