|
|
|
Возможна ли оптимизация запроса?
|
|||
|---|---|---|---|
|
#18+
Есть две таблицы, описывают связи между парами лиц. dbo_Relations Relation_ID PrimaryPerson_ID SecondaryPerson_ID + другие поля dbo_Persons Person_ID PersonType_ID + другие поля dbo_Relations имеет два внешних ключа на dbo_Persons (выделены зелёным). Требуется: Отобрать все связи, удовлетворяющие условиям: 1. Secondary лицо входит не меньше, чем в две связи. 2. PersonType для Primary и Secondary лиц = 1. Решение: Следующий запрос: Код: plaintext 1. 2. 3. 4. 5. Использую запрос, т.к. это для отчёта. Выполняется порядка 2-3 секунд на таких объёмах: В dbo_Faces ~8500 записей, в dbo_Relation ~200, запрос возвращает ~25. Число записей в dbo_Relations может вырасти до нескольких тысяч, а число соответсвующих запросу - до нескольких сотен. Прогнозируемое в таком случае время выполнения - нежелательно велико. Можно ли как-нибудь оптимизировать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2004, 17:46:39 |
|
||
|
Возможна ли оптимизация запроса?
|
|||
|---|---|---|---|
|
#18+
Face в запросе читать как Person. Сорри :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2004, 17:48:58 |
|
||
|
Возможна ли оптимизация запроса?
|
|||
|---|---|---|---|
|
#18+
Таблицы от SQL Serv через ODBC. Кластерные первичные ключи. Индекс на SecondaryPerson_ID. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2004, 17:54:19 |
|
||
|
Возможна ли оптимизация запроса?
|
|||
|---|---|---|---|
|
#18+
Попробуй так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2004, 20:38:35 |
|
||
|
|

start [/forum/topic.php?fid=45&fpage=1591&tid=1673061]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
47ms |
get topic data: |
13ms |
get forum data: |
7ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
| others: | 197ms |
| total: | 342ms |

| 0 / 0 |
