【求助】各大虾支招,如何提升sql查询速度?急,在线等啊。。(50)

S

sunke520

Unregistered / Unconfirmed
GUEST, post messages is not allowed!
#1
数据库是sql server2005,现在有张表sta,数据量大,表记录数[red]700万[/red]左右。表信息入下:站名 日期 参数1 参数2 参数南京 2000-1-1 8:00:00 12 15 18南京 2000-1-1 9:00:00 13 17 11南京 2000-1-1 10:00:00 14 19 23南京 2000-1-1 11:00:00 15 23 21南京 2000-1-1 12:00:00 27 18 13。。。。。。写了个sql语句:select * from sta where 站名=南京 and 日期=2000-1-1 8:00:00 查询表里面的任意一条记录信息,耗时30秒以上。实在是慢,求高手帮忙支下招,如何让查询速度提高一大截。。
 
M

mataijin

Unregistered / Unconfirmed
GUEST, post messages is not allowed!
#3
数据量也不是很大
 
B

bahamut8348

Unregistered / Unconfirmed
GUEST, post messages is not allowed!
#4
建好索引,并且要经常维护。另外,如果结果集如果可能出现很多条的话,就做好分页其他就差不多了。
 
D

dhszxh

Unregistered / Unconfirmed
GUEST, post messages is not allowed!
#5
我的经验如下:1:少用视图,数据量大了视图效率很低2:涉及嵌套查询,条件尽可能写在最内层3:字段该加索引的要加索引4:如果是oracle,还得考虑表空间资源分配的问题
 
F

fengfan

Unregistered / Unconfirmed
GUEST, post messages is not allowed!
#6
所有的优化最终就是表结构和索引上。这个查询这么简单,查询语句本身已经很难优化了把?加索引 。加日期字段(str_day)这样的索引。
 
Z

zbdzjx

Unregistered / Unconfirmed
GUEST, post messages is not allowed!
#7
应该加一个站名和日期的索引就可以了。如果还慢,试试建一个日期和站名的索引,看看那个快。另外,不记得sql server2005支不支持分区了,如果支持,可以建分区看看能不能快一点。