|
|
|
Спор. Принципы организации индексов
|
|||
|---|---|---|---|
|
#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&msg=36141953&tid=1543115]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
191ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 245ms |
| total: | 518ms |

| 0 / 0 |
