Общая оптимизация SQL

Недавно попросили помочь с оптимизацией запросов

Таблица выглядит так:

create table dbo.Table
( 
 id int identity primary key clustered ,
 column_1 varchar(64) not null  ,
 Date datetime not null ,
 Column_2 varchar (32) not null ,
 Column_3 int not null 
)

и выберите выглядит

select * from Table where column_1 = @value1 and Date > @value2

Я предлагаю показывать имена столбцов вместо * в выберите, потому что это может помочь избежать загрузки ненужных данных, а также предложить create nonclustered index в столбце_1. Однако план выполнения по-прежнему показывает тот же объем памяти, который используется запросом.

Что еще я должен проверить или добавить в запрос?

1 ответ

Вы можете оптимизировать запрос с помощью индексов. Тот, который вы хотите, будет на column_1 а также date:

create index idx_table_column1_date on table(column_1, date);
Другие вопросы по тегам