sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚

ΠžΡΠ½ΠΎΠ²Ρ‹ индСксов Π² Microsoft SQL Server

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π΅ Π±ΡƒΠ΄ΡƒΡ‚ рассмотрСны Ρ‚Π°ΠΊΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Microsoft SQL Server ΠΊΠ°ΠΊ индСксы, Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы, ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ индСксов Π±Ρ‹Π²Π°ΡŽΡ‚, ΠΊΠ°ΠΊ ΠΈΡ… ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…?

sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. Π€ΠΎΡ‚ΠΎ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚

ИндСкс β€” это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдставляСт собой структуру Π΄Π°Π½Π½Ρ‹Ρ…, ΡΠΎΡΡ‚ΠΎΡΡ‰ΡƒΡŽ ΠΈΠ· ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, построСнных Π½Π° основС ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… столбцов Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈΠ»ΠΈ прСдставлСния, ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠΏΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ с мСстом хранСния Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Π˜Π½Π΄Π΅ΠΊΡΡ‹ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для Π±ΠΎΠ»Π΅Π΅ быстрого получСния строк ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, индСксы ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ быстрый поиск Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ запросов ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π˜Π½Π΄Π΅ΠΊΡΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΈ для обСспСчСния ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ строк Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, гарантируя Ρ‚Π΅ΠΌ самым Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ….

Π’ΠΈΠΏΡ‹ индСксов Π² Microsoft SQL Server

Π’ Microsoft SQL Server ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ индСксов:

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ индСксов Π² Microsoft SQL Server

ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΊ созданию индСкса Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΡΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ эффСктивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот индСкс, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠ»ΠΎΡ…ΠΎ спроСктированныС индСксы ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Π° Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚ ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ Π΅Π΅. НапримСр, большоС количСство индСксов Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ сниТаСт ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ инструкций INSERT, UPDATE, DELETE ΠΈ MERGE, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ всС индСксы Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. ΠžΠ±Ρ‰ΠΈΠ΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ индСксов ΠΌΡ‹ с Π’Π°ΠΌΠΈ рассмотрим Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π΅, Π° сСйчас Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ нСпосрСдствСнно ΠΊ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΡŽ процСсса создания ΠΈ удалСния индСксов.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅! Π’ качСствС SQL сСрвСра Ρƒ мСня выступаСт вСрсия Microsoft SQL Server 2016 Express.

БозданиС индСксов

Для создания индСксов Π² Microsoft SQL Server сущСствуСт Π΄Π²Π° способа: ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ – это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ графичСского интСрфСйса срСды SQL Server Management Studio (SSMS), ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΉ – это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ языка Transact-SQL, ΠΌΡ‹ с Π’Π°ΠΌΠΈ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΎΠ±Π° способа.

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ для ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ²

Π”Π°Π²Π°ΠΉΡ‚Π΅ прСдставим, Ρ‡Ρ‚ΠΎ Ρƒ нас Π΅ΡΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Π° с Ρ‚ΠΎΠ²Π°Ρ€Π°ΠΌΠΈ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ TestTable, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΅ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ столбца:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ создания кластСризованного индСкса

Как я ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ», кластСризованный индСкс создаСтся автоматичСски, Ссли ΠΌΡ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ создании Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ столбСц Π² качСствС ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° (PRIMARY KEY), Π½ΠΎ Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ‹ этого Π½Π΅ сдСлали, Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ создания кластСризованного индСкса.

Для создания кластСризованного индСкса ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρƒ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡, ΠΈ Ρ‚Π΅ΠΌ самым кластСризованный индСкс Π±ΡƒΠ΄Π΅Ρ‚ создан автоматичСски ΠΈΠ»ΠΈ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ кластСризованный индСкс ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ.

Для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π΄Π°Π²Π°ΠΉΡ‚Π΅ просто создадим кластСризованный индСкс, Π±Π΅Π· создания ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°. Π‘Π½Π°Ρ‡Π°Π»Π° сдСлаСм это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Management Studio.

ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ SSMS ΠΈ Π² ΠΎΠ±ΠΎΠ·Ρ€Π΅Π²Π°Ρ‚Π΅Π»Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π½ΡƒΠΆΠ½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΈ Ρ‰Π΅Π»ΠΊΠ°Π΅ΠΌ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ ΠΏΠΎ ΠΏΡƒΠ½ΠΊΡ‚Ρƒ Β«Π˜Π½Π΄Π΅ΠΊΡΡ‹Β», Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Β«Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ индСкс» ΠΈ Ρ‚ΠΈΠΏ индСкса, Π² нашСм случаС Β«ΠšΠ»Π°ΡΡ‚Π΅Ρ€ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉΒ».

sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. Π€ΠΎΡ‚ΠΎ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚

ΠžΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ΡΡ Ρ„ΠΎΡ€ΠΌΠ° «Новый индСкс», Π³Π΄Π΅ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ имя Π½ΠΎΠ²ΠΎΠ³ΠΎ индСкса (ΠΎΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹), Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ, Π±ΡƒΠ΄Π΅Ρ‚ Π»ΠΈ этот индСкс ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ, Ссли ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎΠ± ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π΅ Ρ‚ΠΎΠ²Π°Ρ€Π° Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ², Ρ‚ΠΎ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ. ΠŸΠΎΡ‚ΠΎΠΌ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ столбСц (ΠΊΠ»ΡŽΡ‡ индСкса), Π½Π° основС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρƒ нас Π±ΡƒΠ΄Π΅Ρ‚ создан кластСризованный индСкс, Ρ‚.Π΅. Π±ΡƒΠ΄ΡƒΡ‚ отсортированы строки Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ½ΠΎΠΏΠΊΠΈ Β«Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒΒ».

sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. Π€ΠΎΡ‚ΠΎ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚

ПослС Π²Π²ΠΎΠ΄Π° всСх Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΆΠΌΠ΅ΠΌ «ОК», Π² ΠΈΡ‚ΠΎΠ³Π΅ Π±ΡƒΠ΄Π΅Ρ‚ создан кластСризованный индСкс.

sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. Π€ΠΎΡ‚ΠΎ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚

Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ кластСризованный индСкс, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ T-SQL CREATRE INDEX, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²ΠΎΡ‚ Ρ‚Π°ΠΊ

Или, ΠΊΠ°ΠΊ ΠΌΡ‹ ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ создания ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ создания нСкластСризованного индСкса с Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ столбцами

БСйчас Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ создания нСкластСризованного индСкса, ΠΏΡ€ΠΈ этом ΠΌΡ‹ ΡƒΠΊΠ°ΠΆΠ΅ΠΌ столбцы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ²Π»ΡΡ‚ΡŒΡΡ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌΠΈ, Π½ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ Π² индСкс. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° Π’Ρ‹ создаСтС индСкс для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ запроса, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ индСкс ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠΊΡ€Ρ‹Π²Π°Π» запрос, Ρ‚.Π΅. содСрТал всС столбцы (это называСтся Β«ΠŸΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ запроса»). Благодаря ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΡŽ запроса ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ΡΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€ запросов ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΉΡ‚ΠΈ всС значСния столбцов Π² индСксС, ΠΏΡ€ΠΈ этом Π½Π΅ ΠΎΠ±Ρ€Π°Ρ‰Π°ΡΡΡŒ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ Ρ‚Π°Π±Π»ΠΈΡ†, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΌΠ΅Π½ΡŒΡˆΠ΅ΠΌΡƒ числу дисковых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°. Но ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π² индСкс Π½Π΅ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… столбцов Π²Π»Π΅Ρ‡Π΅Ρ‚ Π·Π° собой ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° индСкса, Ρ‚.Π΅. для хранСния индСкса потрСбуСтся большС мСста Π½Π° дискС, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ²Π»Π΅Ρ‡ΡŒ ΠΈ сниТСниС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ INSERT, UPDATE, DELETE ΠΈ MERGE Π½Π° Π±Π°Π·ΠΎΠ²ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅.

sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. Π€ΠΎΡ‚ΠΎ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚

ПослС открытия Ρ„ΠΎΡ€ΠΌΡ‹ «Новый индСкс» ΠΌΡ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ индСкса, добавляСм ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ столбСц ΠΈΠ»ΠΈ столбцы с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ½ΠΎΠΏΠΊΠΈ Β«Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒΒ», Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для нашСго тСстового случая Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΡƒΠΊΠ°ΠΆΠ΅ΠΌ CategoryID.

sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. Π€ΠΎΡ‚ΠΎ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚

Π”Π°Π»Π΅Π΅ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Β«Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ столбцы» ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ½ΠΎΠΏΠΊΠΈ Β«Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒΒ» добавляСм столбцы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² индСкс, Π² нашСм случаС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ProductName.

sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. Π€ΠΎΡ‚ΠΎ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚

На Transact-SQL это Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ удалСния индСкса Π² Microsoft SQL Server

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ индСкс ΠΌΠΎΠΆΠ½ΠΎ Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΏΠΎ Π½ΡƒΠΆΠ½ΠΎΠΌΡƒ индСксу ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒ Β«Π£Π΄Π°Π»ΠΈΡ‚ΡŒΒ», Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ своС дСйствия Π½Π°ΠΆΠ°Π² «ОК».

sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. Π€ΠΎΡ‚ΠΎ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚

ΠΈΠ»ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ DROP INDEX, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ инструкция DROP INDEX Π½Π΅ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠ° ΠΊ индСксам, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ созданы ΠΏΡƒΡ‚Π΅ΠΌ создания ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ PRIMARY KEY ΠΈ UNIQUE. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС для удалСния индСкса Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ ALTER TABLE с ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ DROP CONSTRAINT.

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ индСксов Π² Microsoft SQL Server

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ обновлСния, добавлСния ΠΈΠ»ΠΈ удалСния Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… SQL сСрвСр автоматичСски вносит ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ измСнСния Π² индСксы, Π½ΠΎ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ всС эти измСнСния ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ… Π² индСксС, Ρ‚.Π΅. ΠΎΠ½ΠΈ окаТутся разбросанными ΠΏΠΎ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. ЀрагмСнтация индСксов Π²Π»Π΅Ρ‡Π΅Ρ‚ Π·Π° собой сниТСниС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ запросов, поэтому пСриодичСски Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ обслуТивания индСксов, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π΅Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ, ΠΊ Ρ‚Π°ΠΊΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Ρ€Π΅ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ пСрСстроСния индСксов.

Π’ ΠΊΠ°ΠΊΠΈΡ… случаях ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡŽ индСкса, Π° Π² ΠΊΠ°ΠΊΠΈΡ… пСрСстроСниС?

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° этот вопрос сначала Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ индСкса, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² зависимости ΠΎΡ‚ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ индСкса Ρ‚ΠΎΡ‚ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π΄Π΅Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅ΠΉ ΠΈ эффСктивнСй. Для опрСдСлСния стСпСни Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ индСкса ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΈΡΡ‚Π΅ΠΌΠ½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ sys.dm_db_index_physical_stats, которая Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ свСдСния ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ ΠΈ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ индСксов. НапримСр, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ запрос, Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ индСксов Ρƒ всСх Ρ‚Π°Π±Π»ΠΈΡ† Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ….

Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС нас интСрСсуСт столбСц avg_fragmentation_in_percent, Ρ‚.Π΅. процСнтная доля логичСской Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.

Π’Π°ΠΊ Π²ΠΎΡ‚, Microsoft Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅Ρ‚:

Π›ΠΈΡ‡Π½ΠΎ я ΠΌΠΎΠ³Ρƒ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅, Ссли Ρƒ Вас нСбольшая компания ΠΈ Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ максимальной ΠΎΡ‚Π΄Π°Ρ‡ΠΈ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ 24 часа Π² сутки, Ρ‚.Π΅. ΠΎΠ½Π° Π½Π΅ супСрактивная Π‘Π”, Ρ‚ΠΎ Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ смСло пСриодичСски Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ пСрСстроСния индСксов, ΠΏΡ€ΠΈ этом Π΄Π°ΠΆΠ΅ Π½Π΅ опрСдСляя ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.

РСорганизация индСксов

РСорганизация индСкса – это процСсс Π΄Π΅Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ индСкса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π΅Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ кластСризованных ΠΈ нСкластСризованных индСксов ΠΏΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌ ΠΈ прСдставлСниям, физичСски пСрСупорядочивая страницы ΠΊΠΎΠ½Ρ†Π΅Π²ΠΎΠ³ΠΎ уровня Π² соотвСтствии с логичСским порядком (слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ) ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Ρ… ΡƒΠ·Π»ΠΎΠ².

Для Ρ€Π΅ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ индСкса ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ графичСский инструмСнт SSMS, Ρ‚Π°ΠΊ ΠΈ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Transact-SQL.

РСорганизация индСкса с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Management Studio

sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. Π€ΠΎΡ‚ΠΎ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚

РСорганизация индСкса с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Transact-SQL

ΠŸΠ΅Ρ€Π΅ΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ индСксов

ΠŸΠ΅Ρ€Π΅ΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ индСкса – это процСсс, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ происходит ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ старого индСкса ΠΈ созданиС Π½ΠΎΠ²ΠΎΠ³ΠΎ, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ‡Π΅Π³ΠΎ фрагмСнтация устраняСтся.

Для пСрСстроСния индСксов ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π²Π° способа.

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ ALTER INDEX с ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ REBUILD. Π­Ρ‚Π° инструкция замСняСт ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ DBCC DBREINDEX. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ для массового пСрСстроСния индСксов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ этот способ.

И Π²Ρ‚ΠΎΡ€ΠΎΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ CREATE INDEX с ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ DROP_EXISTING. МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для пСрСстроСния индСкса с ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π΅Π³ΠΎ опрСдСлСния, Ρ‚.Π΅. добавлСния ΠΈΠ»ΠΈ удалСния ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… столбцов.

Π’ Management Studio Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» для пСрСстроСния Ρ‚Π°ΠΊΠΆΠ΅ доступСн. ΠŸΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΏΠΎ Π½ΡƒΠΆΠ½ΠΎΠΌΡƒ индСксу Β«ΠŸΠ΅Ρ€Π΅ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒΒ».

sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. Π€ΠΎΡ‚ΠΎ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚

На этом ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» ΠΏΠΎ основам индСксов Π² Microsoft SQL Server Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½, Ссли Вас интСрСсуСт SQL ΠΈ T-SQL, Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΌΠΎΠΈ видСокурсы ΠΏΠΎ T-SQL, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π’Ρ‹ «с нуля» Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с SQL ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с использованиСм языка T-SQL Π² Microsoft SQL Server, ΡƒΠ΄Π°Ρ‡ΠΈ!

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Руководство ΠΏΠΎ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ индСксов SQL Server

ΠŸΠ»ΠΎΡ…ΠΎ спроСктированныС индСксы ΠΈ ΠΈΡ… нСдостаточноС количСство β€” основной источник ΡƒΠ·ΠΊΠΈΡ… мСст Π² прилоТСниях Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ эффСктивных индСксов ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠ΅Ρ€Π²ΠΎΡΡ‚Π΅ΠΏΠ΅Π½Π½ΡƒΡŽ Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ для достиТСния высокой ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π­Ρ‚ΠΎ руководство ΠΏΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ индСксов SQL Server содСрТит свСдСния ΠΎΠ± Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ индСксов ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ, Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΡƒΡΡΡŒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ, Π²Ρ‹ смоТСтС ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ эффСктивныС индСксы, ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ потрСбностям Π²Π°ΡˆΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŒ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ ΠΎΠ±Ρ‰ΠΈΠΌΠΈ знаниями Ρ‚ΠΈΠΏΠΎΠ² индСксов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅ΡΡ‚ΡŒ Π² SQL Server. ΠžΠ±Ρ‰Π΅Π΅ описаниС Ρ‚ΠΈΠΏΠΎΠ² индСксов ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΎ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Π’ΠΈΠΏΡ‹ индСксов.

Π’ этом руководствС Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ индСксов:

БвСдСния ΠΎ пространствСнных индСксах см. Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠžΠ±Ρ‰ΠΈΠ΅ свСдСния ΠΎ пространствСнных индСксах.

БвСдСния ΠΎ полнотСкстовых индСксах см. Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ полнотСкстовых индСксов.

ΠžΡΠ½ΠΎΠ²Ρ‹ проСктирования индСксов

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅ сСбС ΠΎΠ±Ρ‹Ρ‡Π½ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ: Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠ½ΠΈΠ³ΠΈ Π΅ΡΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ быстро Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² ΠΊΠ½ΠΈΠ³Π΅. Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ прСдставляСт собой отсортированный список ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слов, Π° рядом с ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом β€” Π½ΠΎΠΌΠ΅Ρ€Π° страниц, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово. ИндСкс SQL Server устроСн Ρ‚Π°ΠΊ ΠΆΠ΅. Π­Ρ‚ΠΎ упорядочСнный список Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ значСния Π΅ΡΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π° страницы Π΄Π°Π½Π½Ρ‹Ρ…, Π³Π΄Π΅ находятся эти значСния. Π‘Π°ΠΌ индСкс хранится Π½Π° страницах индСксов Π² SQL Server. Π’ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅, Ссли ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ нСсколько страниц ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΉΡ‚ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π° всС страницы, содСрТащиС слово «SQL», Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Π°ΠΌ придСтся Π»ΠΈΡΡ‚Π°Ρ‚ΡŒ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π²Ρ‹ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ страницу указатСля с ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом «SQL». ПослС этого ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ указатСлям Π½Π° всС страницы ΠΊΠ½ΠΈΠ³ΠΈ. Π­Ρ‚ΠΎΡ‚ процСсс ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ссли Π² самом Π½Π°Ρ‡Π°Π»Π΅ индСкса ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ΄Π½Ρƒ страницу, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½Ρ‹ΠΉ список располоТСния ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π±ΡƒΠΊΠ²Ρ‹. ΠŸΡ€ΠΈΠΌΠ΅Ρ€: Π±ΡƒΠΊΠ²Ρ‹ ΠΎΡ‚ А Π΄ΠΎ Π“ β€” стр. 121, Π±ΡƒΠΊΠ²Ρ‹ ΠΎΡ‚ Π” Π΄ΠΎ Π– β€” стр. 122 ΠΈ Ρ‚. Π΄. Благодаря этой Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ страницС Π½Π΅ придСтся ΠΏΠ΅Ρ€Π΅Π»ΠΈΡΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ Π½ΡƒΠΆΠ½ΠΎΠ΅ мСсто. Вакая страница Π½Π΅ сущСствуСт Π² ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΊΠ½ΠΈΠ³Π°Ρ…, Π½ΠΎ сущСствуСт Π² индСксС SQL Server. Π­Ρ‚Π° СдинствСнная страница называСтся ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ страницСй индСкса. ΠšΠΎΡ€Π½Π΅Π²Π°Ρ страница β€” это Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ страница Π΄Ρ€Π΅Π²ΠΎΠ²ΠΈΠ΄Π½ΠΎΠΉ структуры, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ индСксом SQL Server. БлСдуя Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ Π΄Π΅Ρ€Π΅Π²Π°, ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Π΅ страницы, содСрТащиС ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ «Π»ΠΈΡΡ‚ΡŒΡΠΌΠΈ» Π΄Π΅Ρ€Π΅Π²Π°.

ИндСкс SQL Server являСтся структурой Π½Π° дискС ΠΈΠ»ΠΈ Π² памяти, которая связана с Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ ΠΈΠ»ΠΈ прСдставлСниСм ΠΈ ускоряСт ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ строк ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈΠ»ΠΈ прСдставлСния. ИндСкс содСрТит ΠΊΠ»ΡŽΡ‡ΠΈ, построСнныС ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… столбцов Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΈΠ»ΠΈ прСдставлСнии. Для индСксов Π½Π° дискС эти ΠΊΠ»ΡŽΡ‡ΠΈ хранятся Π² Π²ΠΈΠ΄Π΅ структуры сбалансированного Π΄Π΅Ρ€Π΅Π²Π°, которая ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ быстрый поиск строк ΠΏΠΎ значСниям ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π² SQL Server.

Π’Ρ‹Π±ΠΎΡ€ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Ρ… индСксов для Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π΅Π΅ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ β€” это Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ слоТной Π·Π°Π΄Π°Ρ‡ΠΈ ΠΎ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ скорости ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ запроса ΠΈ стоимости обновлСния. Π£Π·ΠΊΠΈΠ΅ индСксы, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ индСксы, Π² ΠΊΠ»ΡŽΡ‡Π΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠ°Π»ΠΎ столбцов, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ мСньшС мСста Π½Π° дискС ΠΈ мСньшС Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… ΠΈΠ·Π΄Π΅Ρ€ΠΆΠ΅ΠΊ. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, ΡˆΠΈΡ€ΠΎΠΊΠΈΠ΅ индСксы ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ большС запросов. ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ удастся Π½Π°ΠΉΡ‚ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ эффСктивный индСкс, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, придСтся ΠΏΠΎΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с нСсколькими Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°ΠΌΠΈ. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ индСксов Π½Π΅ влияСт Π½Π° схСму Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, экспСримСнты с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ индСксами ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ опасСний.

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€ запросов Π² SQL Server с большой Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠΉ индСкс Π² ΠΏΠΎΠ΄Π°Π²Π»ΡΡŽΡ‰Π΅ΠΌ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв. ΠžΠ±Ρ‰Π°Ρ стратСгия Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ индСксов Π΄ΠΎΠ»ΠΆΠ½Π° Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€Ρƒ запросов ΠΏΠΎ возмоТности Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅ΠΌΡƒ Π±Ρ‹Π»ΠΎ ΠΈΠ· Ρ‡Π΅Π³ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ Π΄ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒΡΡ Π΅Π³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ. Π­Ρ‚ΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ врСмя Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ обСспСчит Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ситуациях. Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ индСксы ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€ запросов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ для ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… запросов, Π² мСню Запрос срСды SQL Server Management Studio Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ»Π°Π½ выполнСния.

ИспользованиС индСкса Π½Π΅ всСгда ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Π° высокая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π½Π΅ всСгда ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ эффСктивноС использованиС индСкса. Если Π±Ρ‹ использованиС индСкса всСгда способствовало ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€Π° запросов Π±Ρ‹Π»Π° Π±Ρ‹ ΠΎΡ‡Π΅Π½ΡŒ простой. На самом Π΄Π΅Π»Π΅, Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ индСкса ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π½Π΅ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π·Π°Π΄Π°Ρ‡Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€Π° запросов состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ индСкс ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ индСксов, Ссли это ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΈ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ индСксированного поиска, Ссли это Π΅Π΅ ΠΏΠΎΠ½ΠΈΠ·ΠΈΡ‚.

1 Rowstore β€” это Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ способ хранСния рСляционных Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ†. Π’ SQL Server rowstore β€” это Ρ‚Π°Π±Π»ΠΈΡ†Π° с Π±Π°Π·ΠΎΠ²Ρ‹ΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ хранСния Π΄Π°Π½Π½Ρ‹Ρ… «ΠΊΡƒΡ‡Π°», «ΡΠ±Π°Π»Π°Π½ΡΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ» (кластСризованный индСкс) ΠΈΠ»ΠΈ «Ρ‚Π°Π±Π»ΠΈΡ†Π°, оптимизированная для памяти».

Π—Π°Π΄Π°Ρ‡ΠΈ проСктирования индСксов

РСкомСндуСмая стратСгия проСктирования индСксов Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ:

ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго слСдуСт ΠΏΠΎΠ½ΡΡ‚ΡŒ характСристики самой Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ запросы. НапримСр, Ссли извСстно, Ρ‡Ρ‚ΠΎ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ запрос Π½Π° соСдинСниС Π΄Π²ΡƒΡ… ΠΈ Π±ΠΎΠ»Π΅Π΅ Ρ‚Π°Π±Π»ΠΈΡ†, это ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠΉ Ρ‚ΠΈΠΏ индСксов.

ВыяснитС характСристики столбцов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² запросах. НапримСр, ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ индСкс для столбцов с Ρ‚ΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ… integer, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ»ΠΈ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΡ‚ NULL значСния. Для столбцов с Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ подмноТСствами Π΄Π°Π½Π½Ρ‹Ρ… Π² SQL Server 2008 ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΠΈΡ… вСрсиях ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ индСкс. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния см. Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… индСксов этого руководства.

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ располоТСниС для хранСния индСкса. НСкластСризованный индСкс ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΉ ΠΆΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ базовая Ρ‚Π°Π±Π»ΠΈΡ†Π°, ΠΈΠ»ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅. ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ располоТСния для хранСния индСксов ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ запросов Π·Π° счСт ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ скорости дискового Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°. НапримСр, Ссли нСкластСризованный индСкс хранится Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅ Π½Π΅ Π½Π° Ρ‚ΠΎΠΌ дискС, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ располоТСны Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это позволяСт ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ нСскольким дискам.
ΠšΠ»Π°ΡΡ‚Π΅Ρ€ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΈ нСкластСризованныС индСксы ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ схСму сСкционирования, которая ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… Π³Ρ€ΡƒΠΏΠΏ. Π‘Π΅ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π΅Π»Π°Π΅Ρ‚ большиС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈ индСксы Π±ΠΎΠ»Π΅Π΅ управляСмыми, позволяСт быстро ΠΈ эффСктивно ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ доступ ΠΊ Π½Π°Π±ΠΎΡ€Π°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠΌΠΈ, ΠΏΡ€ΠΈ этом сохраняя Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ всСй ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния см. Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Partitioned Tables and Indexes. ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ сСкционирования ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅, трСбуСтся Π»ΠΈ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ индСкса, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π»ΠΈ индСкс Π±Ρ‹Ρ‚ΡŒ сСкционирован Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, ΠΈΠ»ΠΈ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ сСкционирован ΠΈΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

ΠžΠ±Ρ‰ΠΈΠ΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ индСксов

ΠžΠΏΡ‹Ρ‚Π½Ρ‹ΠΉ администратор Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ Π½Π°Π±ΠΎΡ€ индСксов, Π½ΠΎ эта Π·Π°Π΄Π°Ρ‡Π° ΠΎΡ‡Π΅Π½ΡŒ слоТна, Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ сопряТСна с ошибками Π΄Π°ΠΆΠ΅ для Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… Π½Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ ΠΈ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… срСднСй слоТности. Π’ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… индСксов ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ характСристик Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, запросов ΠΈ столбцов Π΄Π°Π½Π½Ρ‹Ρ….

БообраТСния, связанныС с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…

ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ индСкса слСдуСт ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ:

Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ использования Ρ‡Ρ€Π΅Π·ΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ количСства индСксов для интСнсивно обновляСмых Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ слСдитС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ индСксы Π±Ρ‹Π»ΠΈ ΡƒΠ·ΠΊΠΈΠΌΠΈ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ содСрТали ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ мСньшС столбцов.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ большоС количСство индСксов, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ запросов для Ρ‚Π°Π±Π»ΠΈΡ† с Π½ΠΈΠ·ΠΊΠΈΠΌΠΈ трСбованиями ΠΊ обновлСниям, Π½ΠΎ большими объСмами Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ΠΎΠ»ΡŒΡˆΠΎΠ΅ число индСксов ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ запросов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ инструкции SELECT, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρƒ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€Π° запросов Π±ΡƒΠ΄Π΅Ρ‚ больший Π²Ρ‹Π±ΠΎΡ€ индСксов ΠΏΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ самого быстрого способа доступа.

Π˜Π½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ† ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π½Π΅ Π»ΡƒΡ‡ΡˆΠΈΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ поиск Π΄Π°Π½Π½Ρ‹Ρ… Π² индСксС ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ Ρƒ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€Π° запросов большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‡Π΅ΠΌ простой просмотр Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, для ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ† индСксы ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ, Π½ΠΎ Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΈΡ… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅.

Π˜Π½Π΄Π΅ΠΊΡΡ‹ прСдставлСний ΠΌΠΎΠ³ΡƒΡ‚ Π΄Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Ссли прСдставлСниС содСрТит Π°Π³Ρ€Π΅Π³Π°Ρ‚Ρ‹, соСдинСния Ρ‚Π°Π±Π»ΠΈΡ† ΠΈΠ»ΠΈ сочСтаниС Ρ‚ΠΎΠ³ΠΎ ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ. ΠΠ΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ явно ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π² запросС Π½Π° прСдставлСниС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ ΠΌΠΎΠ³ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€ запросов.

Для Π°Π½Π°Π»ΠΈΠ·Π° Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ получСния Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΉ ΠΏΠΎ созданию индСксов слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊ ΠΏΠΎ настройкС ядра Π‘Π£Π‘Π”. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния см. Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Database Engine Tuning Advisor.

Вопросы Ρ€Π°Π±ΠΎΡ‚Ρ‹ с запросами

ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ индСкса слСдуСт ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π²ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ, связанныС с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ запросов.

ΠŸΠΎΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌΠΈ индСксами Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ нСкластСризованныС индСксы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько схоТих Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² запроса Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, Π±Π΅Π· доступа ΠΊ Π±Π°Π·ΠΎΠ²ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΈ Π±Π΅Π· ΡƒΡ‚ΠΎΡ‡Π½ΡΡŽΡ‰ΠΈΡ… запросов. Π’Π°ΠΊΠΈΠ΅ индСксы ΠΈΠΌΠ΅ΡŽΡ‚ Π½Π° ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ столбцы, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΡ‚ SARGable. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ индСкс Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ столбцы, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ SELECT ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ Π² Π»ΡŽΠ±Ρ‹Ρ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ… WHERE ΠΈ JOIN. Π­Ρ‚ΠΎ позволяСт сущСствСнно ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ объСм ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° для выполнСния запроса, Ссли индСкс Π±ΡƒΠ΄Π΅Ρ‚ достаточно ΡƒΠ·ΠΊΠΈΠΌ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с количСством строк ΠΈ столбцов Π² самой Ρ‚Π°Π±Π»ΠΈΡ†Π΅, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ подмноТСством Π΅Π΅ столбцов. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠΎΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ индСксы, ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΎΠΌΡƒ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρƒ большой Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ опрСдСляСтся фиксированным ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ΠΎΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π·Ρ€Π΅ΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ столбцами с ΠΌΠ°Π»Ρ‹ΠΌ числом нСпустых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

Запросы слСдуСт ΡΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ вставляли ΠΈΠ»ΠΈ измСняли ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ большС строк ΠΎΠ΄Π½ΠΎΠΉ инструкциСй, вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для обновлСния Ρ‚Π΅Ρ… ΠΆΠ΅ строк Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… запросов. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Ρƒ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ возмоТностями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ обСспСчиваСт ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ индСкса.

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ Ρ‚ΠΈΠΏ запроса ΠΈ Ρ‚ΠΎ, ΠΊΠ°ΠΊ Π² Π½Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ столбцы. НапримСр: столбСц, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² запросС с Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌ соотвСтствиСм, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ подходящим ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ΠΎΠΌ для создания кластСризованного ΠΈΠ»ΠΈ нСкластСризованного индСкса.

Вопросы Ρ€Π°Π±ΠΎΡ‚Ρ‹ со столбцами

ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ индСкса, слСдуСт ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π²ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ, относящиСся ΠΊ столбцам.

НуТно ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π»ΠΈΠ½Π° ΠΊΠ»ΡŽΡ‡Π° для кластСризованных индСксов Π±Ρ‹Π»Π° нСбольшой. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, кластСризованныС индСксы Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ΠΈΠ³Ρ€Π°ΡŽΡ‚ ΠΏΡ€ΠΈ создании Π½Π° основС ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ»ΠΈ Π½Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΡ… значСния NULL столбцах.

Π‘Ρ‚ΠΎΠ»Π±Ρ†Ρ‹ Ρ‚ΠΈΠΏΠ° xml ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ столбцом Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² XML-индСксС. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния см Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ XML-индСксы (SQL Server). Π‘ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ обновлСния 1 (SP1) Π² SQL Server 2012 появился Π½ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ XML-индСкса β€” Π²Ρ‹Π±ΠΎΡ€ΠΎΡ‡Π½Ρ‹ΠΉ XML-индСкс. Π­Ρ‚ΠΎΡ‚ Π½ΠΎΠ²Ρ‹ΠΉ индСкс ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ запросов для Π΄Π°Π½Π½Ρ‹Ρ…, Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Ρ… Π² Π²ΠΈΠ΄Π΅ XML Π½Π° SQL Server, ΠΈ Ρ‚Π΅ΠΌ самым Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ускоряСт индСксированиС Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… Π½Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ XML-Π΄Π°Π½Π½Ρ‹Ρ… большого объСма ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ Π·Π° счСт ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ мСста хранСния самого индСкса. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния см. Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Π’Ρ‹Π±ΠΎΡ€ΠΎΡ‡Π½Ρ‹ΠΉ XML-индСкс (SXI).

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ столбцов. Π—Π°ΠΌΠ΅Π½Π° Π½Π΅ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ индСкса ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ для Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ столбцов обСспСчиваСт ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€Ρƒ запросов Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ индСкс Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния см. Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠŸΡ€Π°Π²ΠΈΠ»Π° ΠΏΠΎ созданию ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… индСксов этого руководства.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ распрСдСлСниС Π΄Π°Π½Π½Ρ‹Ρ… Π² столбцС. Часто Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ запроса обусловлСно индСксированиСм столбца, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠ°Π»ΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΈΠ»ΠΈ присоСдинСниСм Ρ‚Π°ΠΊΠΎΠ³ΠΎ столбца. Π­Ρ‚ΠΎ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Π°Ρ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, связанная с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈ запросом, ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ½Π° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½Π° Π±Π΅Π· опрСдСлСния ситуации. НапримСр: физичСский Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π½Ρ‹ΠΉ справочник, отсортированный Π² Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½ΠΎΠΌ порядкС ΠΏΠΎ Ρ„Π°ΠΌΠΈΠ»ΠΈΠΈ, Π½Π΅ смоТСт быстро Π½Π°ΠΉΡ‚ΠΈ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, Ссли всСх ΠΆΠΈΡ‚Π΅Π»Π΅ΠΉ Π³ΠΎΡ€ΠΎΠ΄Π° Π·ΠΎΠ²ΡƒΡ‚ Π‘ΠΌΠΈΡ‚ ΠΈΠ»ΠΈ ДТонс. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния ΠΎ распрСдСлСнии Π΄Π°Π½Π½Ρ‹Ρ… см. Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Statistics.

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ индСксы для столбцов, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… Ρ‚ΠΎΡ‡Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ подмноТСства, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π·Ρ€Π΅ΠΆΠ΅Π½Π½Ρ‹Ρ… столбцов, столбцов, содСрТащих Π² основном значСния NULL, столбцов с Ρ€Π°Π·Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹ΠΌΠΈ катСгориями Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ столбцов с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°ΠΌΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ составлСнный ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ индСкс ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ выполнСния запроса, ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ обслуТивания индСкса ΠΈ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ хранСния.

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ индСксирования вычисляСмых столбцов. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния см. Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Π˜Π½Π΄Π΅ΠΊΡΡ‹ вычисляСмых столбцов.

Π₯арактСристики индСкса

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ, Ρ‡Ρ‚ΠΎ индСкс соотвСтствуСт запросу, ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠΉ Ρ‚ΠΈΠΏ индСкса для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ситуации. НиТС прСдставлСны характСристики индСкса:

Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ характСристики Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° индСкса, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅, Π·Π°Π΄Π°Π² Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, ΠΊΠ°ΠΊ FILLFACTOR. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ мСсто хранСния индСкса с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… Π³Ρ€ΡƒΠΏΠΏ ΠΈΠ»ΠΈ схСм сСкционирования.

Π Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ индСкса Π² Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… Π³Ρ€ΡƒΠΏΠΏΠ°Ρ… ΠΈΠ»ΠΈ схСмах сСкций

Π’ΠΎ врСмя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ стратСгии индСксирования слСдуСт ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ индСксов Π² Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹, связанныС с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…. Аккуратный Π²Ρ‹Π±ΠΎΡ€ схСмы Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΈΠ»ΠΈ сСкционирования ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ индСксы хранятся Π² Ρ‚ΠΎΠΉ ΠΆΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ базовая Ρ‚Π°Π±Π»ΠΈΡ†Π°, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ создаСтся индСкс. НСсСкционированный нСкластСризованный индСкс ΠΈ базовая Ρ‚Π°Π±Π»ΠΈΡ†Π° всСгда находятся Π² ΠΎΠ΄Π½ΠΎΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅. Однако ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ‚ΠΈΠΏ ΠΈ врСмя Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ доступа ΡΠΏΡ€ΠΎΠ³Π½ΠΎΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π»ΡƒΡ‡ΡˆΠΈΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ распрСдСлСниС Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ индСксов ΠΏΠΎ всСм Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΌ Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌ. Π­Ρ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ доступ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ ΠΊΠΎ всСм дискам, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ всС Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ индСксы Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎ распрСдСлСны ΠΏΠΎ Π½ΠΈΠΌ, нСзависимо ΠΎΡ‚ способа доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ. Для систСмных администраторов этот ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Ρ‚Π°ΠΊΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ прост.

Π‘Π΅ΠΊΡ†ΠΈΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… Π³Ρ€ΡƒΠΏΠΏΠ°Ρ…

МоТно Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ сСкционирования кластСризованных ΠΈ нСкластСризованных индСксов ΠΏΠΎ нСскольким Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΌ Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌ. Π‘Π΅ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ индСксы Ρ€Π°Π·Π±ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎ ΠΈΠ»ΠΈ построчно, Π² зависимости ΠΎΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ сСкционирования. Ѐункция сСкционирования опрСдСляСт, ΠΊΠ°ΠΊ каТдая строка сопоставляСтся с Π½Π°Π±ΠΎΡ€ΠΎΠΌ сСкций Π½Π° основС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… столбцов β€” столбцов сСкционирования. Π‘Ρ…Π΅ΠΌΠ° сСкционирования опрСдСляСт сопоставлСниС сСкций Π½Π°Π±ΠΎΡ€Ρƒ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… Π³Ρ€ΡƒΠΏΠΏ.

Π‘Π΅ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ индСкса ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ прСимущСства.

БистСма становится Π±ΠΎΠ»Π΅Π΅ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ, Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ большими индСксами Π² Π½Π΅ΠΉ упрощаСтся. НапримСр, Π² систСмах OLTP ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ прилоТСния, ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ сСкционированиС ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ с большими индСксами.

Запросы Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ быстрСС ΠΈ эффСктивнСС. Когда запросы Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… сСкциях индСкса, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€ запросов ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ сСкции Π² ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ врСмя ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ сСкции, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ запрос Π½Π΅ относится.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния см. Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Partitioned Tables and Indexes.

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ созданию порядка сортировки индСксов

ΠŸΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ индСксов слСдуСт ΠΈΠΌΠ΅Ρ‚ΡŒ Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… столбцов индСкса ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π² порядкС возрастания ΠΈΠ»ΠΈ убывания. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ сортировка производится ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ, ΠΊΠ°ΠΊ ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… вСрсиях SQL Server. Бинтаксис инструкций CREATE INDEX, CREATE TABLE ΠΈ ALTER TABLE ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова ASC (ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ) ΠΈ DESC (ΠΏΠΎ ΡƒΠ±Ρ‹Π²Π°Π½ΠΈΡŽ) для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… столбцов Π² индСксах ΠΈ ограничСниях.

Π£ΠΊΠ°Π·Π°Π½ΠΈΠ΅ порядка, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ значСния ΠΊΠ»ΡŽΡ‡Π΅ΠΉ хранятся Π² индСксС, ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° запрос ссылаСтся Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ с ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ORDER BY, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ для ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ столбца индСкса ΠΈΠ»ΠΈ индСксированного столбца. Π’ этом случаС индСкс ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ SORT Π² ΠΏΠ»Π°Π½Π΅ запроса, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ запрос Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ эффСктивнСС. НапримСр, ΠΏΠΎΠΊΡƒΠΏΠ°Ρ‚Π΅Π»ΡŽ Π² ΠΎΡ‚Π΄Π΅Π»Π΅ Π·Π°ΠΊΠ°Π·ΠΎΠ² Компания Adventure Works Cycles Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ качСство Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² ΠΎΡ‚ Ρ€Π°Π·Π½Ρ‹Ρ… поставщиков. Π‘ΠΎΠ»ΡŒΡˆΠ΅ всСго Π΅Π³ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‚ Ρ‚ΠΎΠ²Π°Ρ€Ρ‹ Ρ‚Π΅Ρ… поставщиков, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π½Π°Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ частоту ΠΎΡ‚ΠΊΠ°Π·ΠΎΠ². Как ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ запросС, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΈΡŽ этому ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΡŽ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ столбСц RejectedQty Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Purchasing.PurchaseOrderDetail Π±Ρ‹Π» отсортирован Π² порядкС убывания (ΠΎΡ‚ большСго значСния ΠΊ ΠΌΠ΅Π½ΡŒΡˆΠ΅ΠΌΡƒ), Π° столбСц ProductID β€” Π² порядкС возрастания (ΠΎΡ‚ мСньшСго ΠΊ Π±ΠΎΠ»ΡŒΡˆΠ΅ΠΌΡƒ).

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΠ»Π°Π½ выполнСния для этого запроса ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€ запросов примСняСт ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ SORT для Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ Π½Π°Π±ΠΎΡ€Π° Π² порядкС, ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΌ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ORDER BY.

sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. Π€ΠΎΡ‚ΠΎ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚

Если создан индСкс для ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… столбцов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ соотвСтствуСт индСксу, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ Π² ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ ORDER BY, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ SORT ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΈΠ· ΠΏΠ»Π°Π½Π° запроса, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ повысит Π΅Π³ΠΎ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ.

ПослС ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ выполнСния запроса ΠΏΠ»Π°Π½ выполнСния ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ SORT ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ вновь созданный нСкластСризованный индСкс.

sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚. Π€ΠΎΡ‚ΠΎ sql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚

ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ сортировки ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… столбцов Π² индСксС. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° sys.index_columns ΠΈ функция INDEXKEY_PROPERTY ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Π² ΠΊΠ°ΠΊΠΎΠΌ порядкС хранится столбСц индСкса β€” Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°ΡŽΡ‰Π΅ΠΌ ΠΈΠ»ΠΈ ΡƒΠ±Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌ.

ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π½ΠΈΠΆΠ΅ прСдставлСния ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ индСксов. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ· этих прСдставлСний содСрТатся Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния ΠΎΠ± Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅.

ВсС столбцы Π² индСксах columnstore хранятся Π² ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠ°ΠΊ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ столбцы. ИндСкс columnstore Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… столбцов.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *