Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Оптимизатор не хочет использовать индекс  [new]
waszkiewicz
Member

Откуда:
Сообщений: 1086
CREATE TABLE [dbo].[SAPProxyLog](
	[id] [int] IDENTITY(1,1) NOT NULL,
	[username] [varchar](50) NULL,
	[host] [varchar](50) NULL,
	[datetimestamp] [datetime] NULL,
	[proxyname] [varchar](50) NULL,
 CONSTRAINT [PK_SAPProxyLog_id] PRIMARY KEY CLUSTERED 
(
	[id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

CREATE NONCLUSTERED INDEX [IDX_SAPProxyLog] ON [dbo].[SAPProxyLog] 
(
	[host] ASC,
	[proxyname] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW

SELECT TOP(1) username 
  FROM sapproxylog
WHERE host='192.168.25.195' AND proxyname='master01'
  ORDER BY datetimestamp desc


К сообщению приложен файл (plan.sqlplan - 7Kb) cкачать
22 авг 16, 12:35    [19572438]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизатор не хочет использовать индекс  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
waszkiewicz,

datetimestamp в индекс и username в INCLUDE
22 авг 16, 12:44    [19572483]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизатор не хочет использовать индекс  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5111
waszkiewicz,

а записей у вас в этой табличке сколько?
22 авг 16, 12:46    [19572499]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизатор не хочет использовать индекс  [new]
waszkiewicz
Member

Откуда:
Сообщений: 1086
Дедушка,
да записей пока очень мало, однако это дело временное...
22 авг 16, 12:56    [19572591]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизатор не хочет использовать индекс  [new]
gds
Member

Откуда: Железнодорожный
Сообщений: 1842
Блог
waszkiewicz
Дедушка,
да записей пока очень мало, однако это дело временное...

Нежелание использовать индекс, тоже временное. Как только оптимизатор поймет что лучше использовать индекс, начнет его использовать.
22 авг 16, 12:59    [19572611]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизатор не хочет использовать индекс  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
gds
waszkiewicz
Дедушка,
да записей пока очень мало, однако это дело временное...

Нежелание использовать индекс, тоже временное. Как только оптимизатор поймет что лучше использовать индекс, начнет его использовать.

он возжелает использовать индекс без половины полей? докинет лукапы?
22 авг 16, 12:59    [19572623]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизатор не хочет использовать индекс  [new]
invm
Member

Откуда: Москва
Сообщений: 9406
waszkiewicz,

У вас в таблице 16 строк. Нету никакого смысла задействовать этот индекс в запросе.
22 авг 16, 13:08    [19572693]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизатор не хочет использовать индекс  [new]
gds
Member

Откуда: Железнодорожный
Сообщений: 1842
Блог
TaPaK
gds
пропущено...

Нежелание использовать индекс, тоже временное. Как только оптимизатор поймет что лучше использовать индекс, начнет его использовать.

он возжелает использовать индекс без половины полей? докинет лукапы?

Я не об этом. Это все понятно, что если будет покрывающий индекс без RID/Lookup Key и т.п. то оптимизатор полезет в индекс.
Я о том, что ТСу надо бы почитать как устроенны и работают индексы. О том что при чтении из индекса читается не одна страница индекса, а как минимум AIM, Index (root), Index (data), Index (leaf level).
Если данных будет много, а индекс будет селективен, то оптимизатор будет использовать этот индекс, т.к. поиск по индексу + RID/ Lookup будет дешевле, скана по таблице или кластерному. С другой стороны, если данные лежат рядом, то скан с упреждающим чтением может оказаться эффективнее, нежели почитать индекс, а потом слазить в другое место диска за недостающими полями.
В общем для каждого конкретного случая надо смотреть и разбираться.
22 авг 16, 13:18    [19572788]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить