有一张数据表,数据量很大,几十万到几百万的数据,如果现在要读这张表,用select 列1,列2 from table读效率会非常低,有什么方法可以提高查询效率吗?试过聚焦索引,效率几乎没变
没有where语句吗?在where语句中用得最多的那几个字段建立索引
-- 建索引
create index [索引名] on [表名]([列1],[列2])
-- 查询
select [列1], [列2] from [表名](nolock)
尽量缩小范围吧,把不用的屏蔽了 group by 出4W条数据,用ssms展示,慢是必须的。 可以看一些基本信息,首先执行
set statistics io , time on
然后再执行你的sql语句
贴上消息栏内容看看
如果查询这两个字段非常多那么还是INDEXED VIEW吧,否则没有WHERE 条件估计效率高不了。
另外ColumnStore。
一、对要查询的列创建索引
二、查看执行计划,把慢的语句优化
三、在查询前加上索引引用例如
select /*+ index(a column1_index) */
a.column1,
a.column2
from A a