SQL SERVER 数据库中几百万数据查询优化
Posted Miss.Bueno
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL SERVER 数据库中几百万数据查询优化相关的知识,希望对你有一定的参考价值。
1、当需要查询表中所有数据时
比较以下三种查询语句:
假设数据表为BasicMsg20170401,共有17列,数据条数为两百八十四万
(1)SELECT * FROM BasicMsg20170401
耗时44秒以上
(2)SELECT 列1,列2... FROM BasicMsg20170401
耗时28~30秒上下
(3)SELECT 列1,列2... FROM BasicMsg20170401 WITH (index(SelAA_Index) )
强制加入非聚集索引后,耗时23~28上下
总结:加入强制索引,当数据量较少时并没有多少优化,数据量大时,会有些许优化。大量数据查询,尽量不用SELECT *。
当数据库用久了发现查询变慢,需要检查数据库初始值大小与数据增长方式是否合理;或者将数据库文件组放置在不同的磁盘空间。
2、一般不会需要查询全表数据,尽量将在查询语句后添加筛选语句,筛选键尽量为索引列
查询两百万数据30秒,假如在“列1”上加了索引,则可用如下查询语句
SELECT 列1,列2... FROM BasicMsg20170401 WITH (index(SelAA_Index) ) where 列1<=35500000
以上是关于SQL SERVER 数据库中几百万数据查询优化的主要内容,如果未能解决你的问题,请参考以下文章