一个表里有几十万或几百万条记录,怎么提高查询速度?

时间:2021-05-21 21:45:58
随着数据量越来越多,查询速度越来越慢,该怎么办?
请教各位高手.

13 个解决方案

#1


mark! 我也在头痛的问题

#2


你可以试试在存储过程的语句中强制指定索引.  
 
--例如下面的  
create  table  tb  (a  int)  
create  index  idx_tb_a  on  tb(a)  
go  
 
select  *  from  tb  with(index(idx_tb_a))  --强制使用索引  idx_tb_a  
go  
 
drop  table  tb

#3


1.建立主关键字;
2.针对需要查询的字段建立索引

#4


除了建立索引外,还有别的吗?

#5


up

#6


查询语法也是关键

#7


首先是表设计的是否合理。
查询优化包括(语句的执行效率和加索引)
提升服务器性能。等等

#8


http://community.csdn.net/Expert/topic/5128/5128222.xml?temp=.4646875
过来接分,马上结贴

#9


楼主需创建索引

#10


创建索引,使用存储过程查询

#11


创建索引,使用存储过程查询。是不錯的辦法。
能夠精確的查找內容更是最明顯的辦法,几百萬的記錄,用戶不可能每次總要這么多,所以你的查詢條件要定的更合理、更精確一些。盡量少用LIKE、>=、<=之類的模糊查詢。如果一定要用到模糊查詢,也要記得用分頁查詢,不要一下全抓過來。
另外可以使用服務器端的游標,效果也會好很多。
總之辦法很多,從多方面下手,從根本上理解慢的原因,你肯定很快會解決的。

#12


經常出現在WHERE的字段建議加索引

#13


上面说的都可以的

#1


mark! 我也在头痛的问题

#2


你可以试试在存储过程的语句中强制指定索引.  
 
--例如下面的  
create  table  tb  (a  int)  
create  index  idx_tb_a  on  tb(a)  
go  
 
select  *  from  tb  with(index(idx_tb_a))  --强制使用索引  idx_tb_a  
go  
 
drop  table  tb

#3


1.建立主关键字;
2.针对需要查询的字段建立索引

#4


除了建立索引外,还有别的吗?

#5


up

#6


查询语法也是关键

#7


首先是表设计的是否合理。
查询优化包括(语句的执行效率和加索引)
提升服务器性能。等等

#8


http://community.csdn.net/Expert/topic/5128/5128222.xml?temp=.4646875
过来接分,马上结贴

#9


楼主需创建索引

#10


创建索引,使用存储过程查询

#11


创建索引,使用存储过程查询。是不錯的辦法。
能夠精確的查找內容更是最明顯的辦法,几百萬的記錄,用戶不可能每次總要這么多,所以你的查詢條件要定的更合理、更精確一些。盡量少用LIKE、>=、<=之類的模糊查詢。如果一定要用到模糊查詢,也要記得用分頁查詢,不要一下全抓過來。
另外可以使用服務器端的游標,效果也會好很多。
總之辦法很多,從多方面下手,從根本上理解慢的原因,你肯定很快會解決的。

#12


經常出現在WHERE的字段建議加索引

#13


上面说的都可以的