
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
20.03.2015, 15:17:27
|
|||
|---|---|---|---|
|
|||
Помощь в оптимизации MySQL запроса |
|||
|
#18+
Здравствуйте! В связи с резким увеличением количества записей в таблице SQL запрос стал ооочень медленным, и вешает сервер. Запрос(выполняется более 2-х минут): http://pastebin.com/FS7sScaG И его EXPLAIN: https://www.dropbox.com/s/3w7cbiugkoxqh1h/explain.png?dl=0 Как я понимаю, все тормоза из-за того что не используется pripary key из таблицы users. А вот почему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.03.2015, 15:22:37
|
|||
|---|---|---|---|
|
|||
Помощь в оптимизации MySQL запроса |
|||
|
#18+
Упростил запрос до минимума: EXPLAIN EXTENDED SELECT SQL_NO_CACHE objects.*, users.* FROM objects JOIN users ON users.id = objects.user_id Все равно users перебирается полностью, не используется никакой ключ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.03.2015, 15:26:04
|
|||
|---|---|---|---|
|
|||
Помощь в оптимизации MySQL запроса |
|||
|
#18+
Сорри за pastebin. Вот запрос: Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.03.2015, 15:27:40
|
|||
|---|---|---|---|
|
|||
Помощь в оптимизации MySQL запроса |
|||
|
#18+
И вот EXPLAIN. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.03.2015, 15:53:01
|
|||
|---|---|---|---|
Помощь в оптимизации MySQL запроса |
|||
|
#18+
вам правда нужны ВСЕ данные при условии "увеличением количества записей "? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.03.2015, 15:54:40
|
|||
|---|---|---|---|
Помощь в оптимизации MySQL запроса |
|||
|
#18+
adrocket, В последнем Иксплейне - используется, вполне себе ронмально. По ссылкам не ходил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.03.2015, 15:57:13
|
|||
|---|---|---|---|
|
|||
Помощь в оптимизации MySQL запроса |
|||
|
#18+
ScareCrow, Да, все данные нужны, так как происходит экспорт в XML фид. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.03.2015, 15:58:03
|
|||
|---|---|---|---|
|
|||
Помощь в оптимизации MySQL запроса |
|||
|
#18+
Arhat109, Не понимаю, почему нормально, если не используется ключ для поиска, а вместо этого перебирается вся таблица? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.03.2015, 16:02:27
|
|||
|---|---|---|---|
Помощь в оптимизации MySQL запроса |
|||
|
#18+
adrocket, Там почти по-русски писано, что ключи (где можно) - используются. У вас нет никаких условий на users, поэтому и ALL. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.03.2015, 16:08:24
|
|||
|---|---|---|---|
|
|||
Помощь в оптимизации MySQL запроса |
|||
|
#18+
Arhat109, Оу, видимо я подтупляю, простите :) Я нашел еще 1 причину потенциальную, это 'GROUP BY' и как следствие используется временная таблица, которая, видимо дампится на диск ну и тп. Мой полный запрос: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Смысл в том что у каждого объекта могут быть картинки, и я из склеиваю через ';' в эту же строку. Может подскажите, это оптимизируемо? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.03.2015, 16:22:35
|
|||
|---|---|---|---|
|
|||
Помощь в оптимизации MySQL запроса |
|||
|
#18+
Я конечно могу не группировать по object.id и тогда у меня будут повторяться строки из object в выборке, обрабатывать это уже в коде, но кто-то мне это не нравится. Ведь SQL такая мощная вещь, и структура БД у меня вроде более или менее валидная.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&mobile=1&tid=1833405]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
42ms |
get topic data: |
8ms |
get forum data: |
1ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 205ms |
| total: | 303ms |

| 0 / 0 |
