{% else-1 %}
Обновить | Подписаться | Поднять тему
Чтобы выполнить действие авторизируйтесь или пройдите регистрацию на сайте.
1. [автор] (24 май 2016, 19:26) [0/0] [0] [отв] [спам] [под] +1 | -1

Народ, возможно ли оптимизировать этот запрос?
[code]
$sql = $this -> db -> pdo -> query("
(SELECT n.title as title,n.npc_id as id FROM npc as n, game as g WHERE g.id = n.npc_id AND g.type = 'npc' AND g.loc = '".$user['loc']."')
UNION
(SELECT u.login as title,u.user_id as id FROM `users` as `u`,`game` as `g` WHERE g.id = u.user_id AND g.type = 'user' AND g.loc = '".$user['loc']."' AND u.user_id != '".$user['user_id']."')
"* -> fetchAll();
[/code]
Мне нужно добавить к этому еще один union, но мне кажется, что довольно большую нагрузку может создать) Или быть может разделить запросы и потом соединить через array_merge?

2.
ANGRY * 2.73
(24 май 2016, 19:29) [0/0] [0] [отв] [спам] [под] +1 | -1

Тему перенёс из подраздела Программирование в подраздел Вопросы новичков!*

3.
Mobiaaa * Верифицирован 2.73
(24 май 2016, 20:09) [0/0] [0] [отв] [спам] [под] +1 | -1

Выполните этот запрос в mysql с командой EXPLAIN
Получите данные об использовании индексов + какие "операции" участвовали в запросе (типа временной таблицы на диске, файловой сортировке и т.д., всё что может быть медленным)

4. [автор] (24 май 2016, 20:15) [0/0] [0] [отв] [спам] [под] +1 | -1

Mobiaaa, нет, это не то) explain не в помощь здесь, все равно ведь при таком запросе нагрузка будет ощутимой при большом кол-во выполнений, сам запрос можно ли переиграть по другому?

5.
Mobiaaa * Верифицирован 2.73
(24 май 2016, 21:53) [0/0] [0] [отв] [спам] [под] +1 | -1

explain вернёт использование индексов
Если не будет индексов и база большая - то никакие оптмизации SQL запроса не помогут
MySQL будет "тормозить" на full scan всей таблицы

6. [автор] (25 май 2016, 08:45) [0/0] [0] [отв] [спам] [под] +1 | -1

Mobiaaa, да про индексацию я понимаю) но ведь это все равно не выход

  • 1 из 1
Чтобы писать сообщения авторизируйтесь или пройдите регистрацию на сайте.
Подписаны: 0
Скачать тему | Файлы темы | Фильтр сообщений