![]() |
|
Модераторы: skyboy |
![]()
|
|
| Black_leopard |
|
||||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 142 Регистрация: 18.10.2006 Репутация: нет Всего: нет |
Всем доброго дня!
Возникла проблема при попытке создать запрос по огромной базе данных, запросы нереально долго отрабатываются, а индекс создать не получается из-за использования WHERE IN (может есть возможность как-то через JOIN объеденить две таблицы и уже по ней фильтровать с использованием индекса?) Т.е. Есть структура: ![]() *поле `name` перевел в тип int Sql:
Делаю два запроса (получить type =1 и type = 2)
Данные примерно вот такие хранятся:
Список ID значений выдаются запросом:
Большое спасибо за совет! Это сообщение отредактировал(а) Black_leopard - 20.7.2015, 11:47 |
||||||||
|
|||||||||
| ТоляМБА |
|
|||
![]() Котэ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1607 Регистрация: 15.12.2004 Репутация: 4 Всего: 252 |
|
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 45 Всего: 454 |
Заменить COUNT(`type`) на COUNT(`name`). Оба поля NOT NULL, и нет DISTINCT - пофиг, по какому полю считать, а с одним проще работать. Особенно если там по нему индекс вдруг ветром надует.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Составление SQL-запросов | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |