Запитання з тегом «filtered-index»

5
Як створити умовний індекс у MySQL?
Як створити індекс для фільтрації певного діапазону чи підмножини таблиці в MySQL? AFAIK неможливо створити безпосередньо, але я думаю, що це можливо моделювати. Приклад: Я хочу створити індекс для NAMEстовпця лише для рядків ізSTATUS = 'ACTIVE' Цей функціонал можна назвати відфільтрованим індексом у SQL Server та частковим індексом у Postgres.

5
Неможливо створити відфільтрований індекс у обчисленій колонці
У попередньому моєму запитанні, чи корисно вимкнути ескалацію блокування, додаючи до таблиці нові обчислені стовпці? , Я створюю обчислений стовпець: ALTER TABLE dbo.tblBGiftVoucherItem ADD isUsGift AS CAST ( ISNULL( CASE WHEN sintMarketID = 2 AND strType = 'CARD' AND strTier1 LIKE 'GG%' THEN 1 ELSE 0 END , 0) AS …

2
Чому відфільтрований індекс за значенням IS NULL не використовується?
Припустимо, у нас є таке визначення таблиці: CREATE TABLE MyTab ( ID INT IDENTITY(1,1) CONSTRAINT PK_MyTab_ID PRIMARY KEY ,GroupByColumn NVARCHAR(10) NOT NULL ,WhereColumn DATETIME NULL ) І відфільтрований некластеризований індекс на зразок цього: CREATE NONCLUSTERED INDEX IX_MyTab_GroupByColumn ON MyTab (GroupByColumn) WHERE (WhereColumn IS NULL) Чому цей показник не "охоплює" цей …

1
Чому оператор агрегату використовується після унікального сканування індексу
У мене є таблиця з унікальним відфільтрованим індексом для ненульових значень. У плані запитів є використання різних. Чи є для цього причина? USE tempdb CREATE TABLE T1( Id INT NOT NULL IDENTITY PRIMARY KEY ,F1 INT , F2 INT ) go CREATE UNIQUE NONCLUSTERED INDEX UK_T1 ON T1 (F1,F2) WHERE …

3
Підвищити ефективність запиту за допомогою IN ()
У мене є такий SQL-запит: SELECT Event.ID, Event.IATA, Device.Name, EventType.Description, Event.Data1, Event.Data2 Event.PLCTimeStamp, Event.EventTypeID FROM Event INNER JOIN EventType ON EventType.ID = Event.EventTypeID INNER JOIN Device ON Device.ID = Event.DeviceID WHERE Event.EventTypeID IN (3, 30, 40, 41, 42, 46, 49, 50) AND Event.PLCTimeStamp BETWEEN '2011-01-28' AND '2011-01-29' AND Event.IATA LIKE …

3
Використовуйте функцію "LEN" у пункті "WHERE" у "CREATE UNIQUE INDEX"
У мене є ця таблиця: CREATE TABLE Table01 (column01 nvarchar(100)); І я хочу створити унікальний індекс у колонці01 з цією умовою LEN (колонка01)> = 5 Я намагався: CREATE UNIQUE INDEX UIX_01 ON Table01(column01) WHERE LEN(column01) >= 5; Я зрозумів, я отримав: Неправильний пункт WHERE для відфільтрованого індексу "UIX_01" у таблиці …

3
Включений стовпчик проти відфільтрованого індексу
Зараз ми працюємо з таблицею з назвою tb_tranfers . Ця таблиця має 40 мільйонів рядків і має розмір ~ 26 ГБ (дані 11 ГБ, індекси 15 ГБ). 10 - 15% рядків - це рядки з м'яким видаленням ( Видалений дат не є нульовим). Додаток використовує лише рядки, де DeletedDate є …

3
Фільтрований індекс застосовується лише тоді, коли відфільтрована частина знаходиться в ПРИЄДНАННІ, а не де
Я створив відфільтрований індекс нижче, але коли я запускаю два запити далі вниз, цей індекс використовується тільки для пошуку в першому прикладі, який містить END_DTTM в JOIN, а не пункт де (це єдина різниця в запитах) . Хтось може пояснити, чому це відбувається? Створення індексу CREATE NONCLUSTERED INDEX [ix_PATIENT_LIST_BESPOKE_LIST_ID_includes] ON …

2
Який ефект від заміни індексів відфільтрованими (ненульовим значенням) індексами?
У нашому проекті працює дуже велика, дуже складна база даних. Отож, близько місяця тому ми помітили, що простір, який використовується індексованими стовпцями, що містять нульові значення, стає надто великим. Як відповідь на це, я написав як скрипт, який динамічно шукатиме всі індекси одного стовпця, що містять більше 1% нульових значень, …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.