![]() |
|
Модераторы: LSD |
![]()
|
|
| Entry_N3 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 446 Регистрация: 8.2.2007 Репутация: нет Всего: нет |
Есть запрос, схематично которой можно записать в виде
Т.е. значение из одно и того же множества значений проверяется на совпадение в одном из 4х атрибутов. Если на примере, то, допустим, есть выделенная группа экспертов '1' {'значение_1', 'значение_2', 'значение_3', 'значение_4'}. Допустим, эксперт ('значение_1') на сайте вызывает диалог, в результате которого должны отобразиться все заявки ('table_1'). При этом должны вывестись такие заявки, где этот эксперт ('значение_1') или остальные эксперты из его группы '1' ('значение_2', 'значение_3', 'значение_4') являются либо рецензентами ('field_1'), либо field_2, либо field_3, либо field_4. Предлагается переделать структура запроса либо структуру данных (вплоть до дополнительных таблиц) так, чтобы не было OR и/или IN (мотивация: на больших данных запрос долго работает). Есть идеи? Используется Oracle 10g. |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 37 Всего: 161 |
какова селективность предикатов?
есть ли по ним индексы? используются ли они? в случае, если выводится значение ключа, несколько or предикатов можно заменить на union с одним предикатом. Что-то вроде
в некоторых случаях можно попробовать. -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| Entry_N3 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 446 Регистрация: 8.2.2007 Репутация: нет Всего: нет |
Возвращается порядка 100-500 строк. Индексы есть. Используеются. Насчет приема с union`ом, понятно. Спасиб. Но не решает проблему. Есть еще идеи? |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 37 Всего: 161 |
Как смотрите? 100-500 строк отобрать по индексам не должно представляться проблематичным. -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| Entry_N3 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 446 Регистрация: 8.2.2007 Репутация: нет Всего: нет |
||||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 37 Всего: 161 |
А план смотрите где? Посмотреть реально действующий план запроса можно - в трассе, в gv$sql_plan или же с помощью dbms_xplan.display_cursor. План, полученный другими способами может отличаться от реально действующего. Даже из миллиарда записей. Это - новость. Ранее фигурировала только одна таблица. -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
![]()
|
| Правила форума "Oracle" | |
|
|
Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Oracle | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |