一个表里有几十万或几百万条记录,怎么提高查询速度? 随着数据量越来越多,查询速度越来越慢,该怎么办?请教各位高手. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你可以试试在存储过程的语句中强制指定索引. --例如下面的 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 http://community.csdn.net/Expert/topic/5128/5128222.xml?temp=.4646875过来接分,马上结贴 创建索引,使用存储过程查询。是不錯的辦法。能夠精確的查找內容更是最明顯的辦法,几百萬的記錄,用戶不可能每次總要這么多,所以你的查詢條件要定的更合理、更精確一些。盡量少用LIKE、>=、<=之類的模糊查詢。如果一定要用到模糊查詢,也要記得用分頁查詢,不要一下全抓過來。另外可以使用服務器端的游標,效果也會好很多。總之辦法很多,從多方面下手,從根本上理解慢的原因,你肯定很快會解決的。 經常出現在WHERE的字段建議加索引 模糊日期查询只有10月和带0的查不出来!求教 又是数据库连接问题(SQL) 關於觸發器instead of update 執行text字段更新方法 帮我看一下,变量的内容是不是超过8000个字符长度!为什么不能全部显示呢! 关于存储过程的参数的问题! 一个SQL语句不知为什么会出错 ?SQL2005代理问题 为何存储过程执行的过程中调用了系统的存储过程! ==谁在MS Sql server的触发器中存取过Oracle上的数据??=== 不好意思,最近老是劳驾高手,帮写一个存储过程。 SQLDMO问题,请大家指教 请问,Microsoft SQL Server 和 Oracle的最新版本是什么
--例如下面的
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
过来接分,马上结贴
能夠精確的查找內容更是最明顯的辦法,几百萬的記錄,用戶不可能每次總要這么多,所以你的查詢條件要定的更合理、更精確一些。盡量少用LIKE、>=、<=之類的模糊查詢。如果一定要用到模糊查詢,也要記得用分頁查詢,不要一下全抓過來。
另外可以使用服務器端的游標,效果也會好很多。
總之辦法很多,從多方面下手,從根本上理解慢的原因,你肯定很快會解決的。