|
|
|
Спор. Принципы организации индексов
|
|||
|---|---|---|---|
|
#18+
Завязался жаркий спор по организации индексов: Есть таблица для хранения уникальных номеров документа. Уникальность хранится в пределах года. Структура: DAT - Дата FIRMA - Строка(9) IDDOC- Строка(9) DOCNOM - Целое (int) К таблице выполняется запросы: |SELECT | [IDDOC] |FROM | [MyBase].[DBO].[ВсеНомера] |WHERE | (DAT=:НачПериода) | and | (FIRMA=:Фирма) | and | ([DOCNOM]=:НомерДокумента) | and | ([IDDOC]<>:ЭтотДокумент) --------------------------------- SELECT max(DocNom) FROM [MyBase].[dbo].[ВсеНомераНН] WHERE (dat=@dat) and (firma=@firma) --------------------------------- UPDATE [MyBase].[dbo].[ВсеНомераНН] SET DocNom=@DocNom WHERE IDDoc=@IDDoc --------------------------------- Вопрос: как правильно организовать индексы при этих запросах? Вариант 1: DOCNOM+FIRMA+DAT, IDDOC Вариант 2: DAT+FIRMA+DOCNOM , IDDOC условия в запросах можно ихменить под индекс. Но какой индекс будет наиболее производительный? Вот... спорим как же все таки правильно? Может есть ссылка о принципах? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2009, 13:51 |
|
||
|
Спор. Принципы организации индексов
|
|||
|---|---|---|---|
|
#18+
Второй селект будет использовать индекс только в вар 2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2009, 14:39 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=85&tid=1543115]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
91ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 392ms |

| 0 / 0 |
