Что такое Покрытый Индекс?

Альтернативное решение, использующее метод .query () :

In [5]: df.query("countries in @countries")
Out[5]:
  countries
1        UK
3     China

In [6]: df.query("countries not in @countries")
Out[6]:
  countries
0        US
2   Germany

65
задан Martynnw 15 September 2008 в 10:45
поделиться

2 ответа

закрывающий индекс является индексом, который содержит весь из, и возможно больше, столбцы, в которых Вы нуждаетесь для своего запроса.

, Например, это:

SELECT *
FROM tablename
WHERE criteria

будет обычно использовать индексы для ускорения разрешения, которых строк получить использование критерии , но тогда это перейдет к полной таблице для получения строк.

Однако, если индекс содержал столбцы column1, column2 и column3, то этот sql:

SELECT column1, column2
FROM tablename
WHERE criteria

и, при условии, что конкретный индекс мог использоваться для ускорения разрешения, которых строк получить, индекс уже содержит значения столбцов, которыми Вы интересуетесь, таким образом, это не должно будет переходить к таблице для получения строк, но может привести к результатам непосредственно от индекса.

Это может также использоваться, если Вы видите, что типичный запрос использует 1-2 столбца для разрешения, какие строки, и затем обычно добавляет еще 1-2 столбца, это могло быть выгодно для добавления тех дополнительных столбцов (если они - то же на всем протяжении) к индексу, так, чтобы процессор запросов мог получить все от самого индекса.

Вот статья: Индекс, Покрывающий Производительность запросов SQL Server Повышений на предмете.

54
ответ дан David Braun 7 November 2019 в 11:46
поделиться

Покрытие индекса является просто показателем преломления обыкновенной волны. Это называют, "покрывая", если это может удовлетворить запрос без необходимости проанализировать данные.

пример:

CREATE TABLE MyTable
(
  ID INT IDENTITY PRIMARY KEY, 
  Foo INT
) 

CREATE NONCLUSTERED INDEX index1 ON MyTable(ID, Foo)

SELECT ID, Foo FROM MyTable -- All requested data are covered by index

Это - один из самых быстрых методов для получения данных из SQL-сервера.

13
ответ дан aku 7 November 2019 в 11:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: