最近被要求帮助进行查询优化
表格如下:
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
我建议在select中显示列名而不是*
,因为它可以帮助避免加载不需要的数据,同时在column_1上提出create nonclustered index
。但是,执行计划仍然显示查询使用的内存量相同。
我还应该在查询中检查或添加什么?
答案 0 :(得分:2)
您可以使用索引优化查询。您想要的是column_1
和date
:
create index idx_table_column1_date on table(column_1, date);