Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / оптимизировать запрос count, inner join / 4 сообщений из 4, страница 1 из 1
19.02.2015, 21:21:20
    #38884458
freshman999
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизировать запрос count, inner join
Подскажите пожалуйста можно ли оптимизировать такой запрос:
Код: sql
1.
2.
3.
4.
5.
SELECT COUNT(p.id) as num 
       FROM posts p 
       INNER JOIN niche_posts np 
       ON np.posts_id = p.id AND np.niche_id = 16  
       WHERE p.city_id = 7 AND p.show = 1;




Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
explain SELECT SQL_NO_CACHE COUNT(p.id) as num FROM posts p INNER JOIN niche_posts np ON np.posts_id = p.id AND np.niche_id = 16  WHERE p.city_id = 7 AND p.show = 1;
+----+-------------+-------+--------+---------------------------------------------+----------+---------+----------------------------------+--------+-------------+
| id | select_type | table | type   | possible_keys                               | key      | key_len | ref                              | rows   | Extra       |
+----+-------------+-------+--------+---------------------------------------------+----------+---------+----------------------------------+--------+-------------+
|  1 | SIMPLE      | np    | ref    | PRIMARY,niche_id,posts_id                   | niche_id | 1       | const                            | 491200 |             |
|  1 | SIMPLE      | p     | eq_ref | PRIMARY,city_id_source_createdon,id_city_id | PRIMARY  | 4       | db.np.posts_id |      1 | Using where |
+----+-------------+-------+--------+---------------------------------------------+----------+---------+----------------------------------+--------+-------------+
2 rows in set (0.00 sec)


Сейчас запрос выполняется порядка 2-х секунд
...
Рейтинг: 0 / 0
19.02.2015, 21:51:59
    #38884474
ScareCrow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизировать запрос count, inner join
автор491200
предрасчет.
...
Рейтинг: 0 / 0
19.02.2015, 22:54:27
    #38884500
freshman999
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизировать запрос count, inner join
ScareCrow,

прошу прощения. не могли бы вы для тех кто в танке - раскрыть подробнее "предрасчет".
...
Рейтинг: 0 / 0
20.02.2015, 00:04:49
    #38884530
ScareCrow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизировать запрос count, inner join
сделай поле "количество постов" и при инсерте его увеличивай
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / оптимизировать запрос count, inner join / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]