Как я могу улучшить свой запрос select в таблице с более чем 150 миллионами записей в SQL Server?Мне нужно выполнить простой выбор и получить результат в минимально возможное время.Должен ли я создать какой-то индекс?Таблица разделов?Что вы, ребята, рекомендуете для этого?
Вот мой текущий сценарий:
Таблица:
CREATE TABLE [dbo].[table_name]
(
[id] [BIGINT] IDENTITY NOT NULL,
[key] [VARCHAR](20) NOT NULL,
[text_value] [TEXT] NOT NULL,
CONSTRAINT [PK_table_name]
PRIMARY KEY CLUSTERED ([id] ASC)
)
GO
Выбор:
SELECT TOP 1
text_value
FROM
table_name (NOLOCK)
WHERE
key = @Key
Дополнительная информация:
В этой таблице не будет обновлений или удалений
В столбце text_value
есть Json, который будет извлечен при выборе иприложение будет обрабатывать эту информацию
Никакие другие запросы к этой таблице не будут выполняться, только запрос выше, чтобы всегда извлекать text_value
на основе key
столбца
Каждые 2 или 3 месяца в таблицу добавляется около 15 миллионов