powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Выбор только сегодняшних дат или как использовать индекс
3 сообщений из 3, страница 1 из 1
Выбор только сегодняшних дат или как использовать индекс
    #32013723
Павел
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для выбора сегодняшней даты использую WHERE DATEDIFF(Day, Event_date, GETDATE()) = 0
По полю Event_date есть не уникальный не кластерный индекс, но оптимизатор его не использует. Как задать условие, чтобы индекс начал использоваться?
...
Рейтинг: 0 / 0
Выбор только сегодняшних дат или как использовать индекс
    #32013726
Osya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Оптимизатор не может посчитать селективность по функции. Используй прямое указание индекса.
SELECT * FROM Table (INDEX=IndexName) WHERE DATEDIFF(Day, Event_date, GETDATE()) = 0
...
Рейтинг: 0 / 0
Выбор только сегодняшних дат или как использовать индекс
    #32013727
Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насколько я понимаю, индекс начнет работать только если указывать имя поля в условии без каких-то функуий
что-то типа
WHERE Event_date between dateadd convert(datetime,convert(char(10),GETDATE(),120)) and convert(datetime,convert(char(10),GETDATE(),120)+' 23:59:59.99')
для версии MS SQL 7.0 и далее

Или что-нибудь другое в зависимости от вкуса.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Выбор только сегодняшних дат или как использовать индекс
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]