Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
wearedogs Member Откуда: Сообщений: 13 |
Нужно создать фильтрованный индекс используя IN, EXISTS При включении статистики активных запросов в мой индекс даже не заходит, помогите пожалуйста
вот код: CREATE NONCLUSTERED INDEX Filter ON Passengers (Full_Name) WHERE Telephone is not null DROP INDEX Filter ON Passengers SELECT id, Passport, Full_Name, Telephone FROM Passengers WHERE EXISTS ( SELECT * FROM Passengers WHERE Telephone = null ) Как сделать чтобы в индекс всё таки заходило! К сообщению приложен файл. Размер - 25Kb Сообщение было отредактировано: 25 ноя 19, 15:28 |
||||||||
25 ноя 19, 15:24 [22024750] Ответить | Цитировать Сообщить модератору |
TaPaK Member Откуда: Kiev Сообщений: 6801 |
wearedogs, а что это должно делать? |
25 ноя 19, 15:30 [22024758] Ответить | Цитировать Сообщить модератору |
wearedogs Member Откуда: Сообщений: 13 |
TaPaK, Просто задали задания с индексами. Нужно продемонстрировать работу |
25 ноя 19, 15:31 [22024761] Ответить | Цитировать Сообщить модератору |
iap Member Откуда: Москва Сообщений: 47052 |
|
||
25 ноя 19, 15:35 [22024768] Ответить | Цитировать Сообщить модератору |
iap Member Откуда: Москва Сообщений: 47052 |
Читаем раздел про фильтрованные индексы здесь: https://docs.microsoft.com/ru-ru/sql/t-sql/statements/create-index-transact-sql?view=sql-server-ver15 |
25 ноя 19, 15:40 [22024773] Ответить | Цитировать Сообщить модератору |
a_voronin Member Откуда: Москва Сообщений: 4805 |
Истина НАЛЛЕ, но не всем дано её постичь. Какой из запросов вернет 1 ? SELECT 1 WHERE 1 = NULL SELECT 1 WHERE 1 <> NULL SELECT 1 WHERE NOT 1 = NULL SELECT 1 WHERE NOT 1 <> NULL SELECT 1 WHERE NULL = NULL SELECT 1 WHERE NOT NULL = NULL SELECT 1 WHERE NOT NOT NULL = NULL SELECT 1 WHERE NOT NOT NOT NOT NOT NOT NOT NOT NOT NOT NULL = NULL OR NOT NOT NOT NOT NOT NOT NOT NOT NOT NOT NULL <> NULL Ответ
|
|||||||
25 ноя 19, 15:44 [22024781] Ответить | Цитировать Сообщить модератору |
wearedogs Member Откуда: Сообщений: 13 |
iap, a_voronin, я уже голову изломал я не могу сделать это задание, подскажите как исправить |
25 ноя 19, 15:50 [22024792] Ответить | Цитировать Сообщить модератору |
iap Member Откуда: Москва Сообщений: 47052 |
|
||||
25 ноя 19, 15:52 [22024793] Ответить | Цитировать Сообщить модератору |
TaPaK Member Откуда: Kiev Сообщений: 6801 |
a_voronin, а если будут познавать вашу истину с ANSI_NULLS OFF? |
25 ноя 19, 15:53 [22024794] Ответить | Цитировать Сообщить модератору |
wearedogs Member Откуда: Сообщений: 13 |
iap, ещё в начале дня её прочитал, никакой инфы для работающего примера не получил |
25 ноя 19, 15:56 [22024799] Ответить | Цитировать Сообщить модератору |
wearedogs Member Откуда: Сообщений: 13 |
И так не идётCREATE NONCLUSTERED INDEX Filter ON Airport (Town) WHERE Name = 'Домодедово' DROP INDEX Filter ON Airport SELECT * FROM Airport WHERE Name IN ('Домодедово') and Town = 'Москва' |
25 ноя 19, 15:59 [22024802] Ответить | Цитировать Сообщить модератору |
TaPaK Member Откуда: Kiev Сообщений: 6801 |
wearedogs, а DROP сразу это что бы что? |
25 ноя 19, 16:07 [22024813] Ответить | Цитировать Сообщить модератору |
wearedogs Member Откуда: Сообщений: 13 |
TaPaK, часто редактирую его, вдруг заработает. Удобно когда все близко находится |
25 ноя 19, 16:08 [22024815] Ответить | Цитировать Сообщить модератору |
iap Member Откуда: Москва Сообщений: 47052 |
![]() Кстати, дропаете неправильно. Надо Airport.Filter писать. А SELECTом чего добивались? |
||||
25 ноя 19, 16:11 [22024818] Ответить | Цитировать Сообщить модератору |
wearedogs Member Откуда: Сообщений: 13 |
iap, у меня много индексов, поэтому я выделяю то, что нужно выполнить. Селект у меня а и вообще весь пример, чтобы это индекс хоть как-то заработал, мне не важна смысловая составляющая, я просто хочу чтобы он работал |
25 ноя 19, 16:14 [22024821] Ответить | Цитировать Сообщить модератору |
a_voronin Member Откуда: Москва Сообщений: 4805 |
С мега NULL-ом в голове дури много на селе, Чтоб село все рассчитать надо NULL-ы понимать. |
||||
25 ноя 19, 16:17 [22024827] Ответить | Цитировать Сообщить модератору |
wearedogs Member Откуда: Сообщений: 13 |
a_voronin, спасибо |
25 ноя 19, 16:18 [22024829] Ответить | Цитировать Сообщить модератору |
Ролг Хупин Member Откуда: Чебаркуль Сообщений: 3990 |
Вот, правильно, это баловство читать только время терять ![]() |
||||
26 ноя 19, 20:36 [22026091] Ответить | Цитировать Сообщить модератору |
Glebanski Member Откуда: Msk ->NL Сообщений: 319 |
SELECT id, Passport, Full_Name, Telephone FROM Passengers WHERE EXISTS ( SELECT * FROM Passengers WHERE Telephone = null ) Это ваш (единственный) тестовый запрос ? А ничего, что подзапрос c EXISTS некоррелированный? Хотя после "= null " это уже пустяки. Как я понимаю, после полугода перерыва студенты забывают весь SQL, что учили в прошлом семестре. А им уже про индексы вещают. Надо что-то с этим делать. |
27 ноя 19, 11:11 [22026417] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |