powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Index Seek по time колонки Datetime
3 сообщений из 3, страница 1 из 1
Index Seek по time колонки Datetime
    #40088017
newbie876454
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть столбец типа datetimie с индексом.
Хочется в запросе искать по конкретному времени (отбросив дату), и при этом получить index seek.
так получается Index scan:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
CREATE TABLE tab1
(
	evtDate DATETIME NOT NULL PRIMARY KEY CLUSTERED
)

INSERT tab1
VALUES('2021-08-02T21:44:40.000'), ('2021-08-02T21:44:44.000'), ('2021-08-02T21:44:47.000')

SELECT *
FROM tab1
WHERE convert(varchar, evtDate, 108) = '21:44:40'

SELECT *
FROM tab1
WHERE CAST(evtDate AS time) = '21:44:40'




вроде как можно отталкиваться от численного представления секунд, но как сконвертить во время типа Time, чтобы остался index seek - не могу понять.
...
Рейтинг: 0 / 0
Index Seek по time колонки Datetime
    #40088020
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
создайте вычисляемое поле только для времени и индексируйте его.
...
Рейтинг: 0 / 0
Index Seek по time колонки Datetime
    #40088021
newbie876454
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
это норм вариант! но ценой избыточности данных
у меня база большая и все время растет
думал, есть возможность не хранить отдельный индекс, а использовать уже имеющийся
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Index Seek по time колонки Datetime
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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