powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Спор. Принципы организации индексов
3 сообщений из 3, страница 1 из 1
Спор. Принципы организации индексов
    #36141791
vastok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Завязался жаркий спор по организации индексов:

Есть таблица для хранения уникальных номеров документа. Уникальность хранится в пределах года.

Структура:
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

условия в запросах можно ихменить под индекс. Но какой индекс будет наиболее производительный?

Вот... спорим как же все таки правильно? Может есть ссылка о принципах?
...
Рейтинг: 0 / 0
Спор. Принципы организации индексов
    #36141953
Второй селект будет использовать индекс только в вар 2
...
Рейтинг: 0 / 0
Спор. Принципы организации индексов
    #36141971
vastok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
--------------------,

Какой индекс будет быстрее работать в запросе 1?

Dat - дата начала года
FIRMA - до 5 фирм
DocNom - Порядка 5000-10000 за год
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Спор. Принципы организации индексов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]