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 数据库中几百万数据查询优化的主要内容,如果未能解决你的问题,请参考以下文章

需要帮助优化 SQL Server 查询

Oracle大量数据查询优化

SQL server初级SQL索引

对sql server查询速度的优化

SQL优化----百万数据查询优化

Sql server not in优化