sqlserver在限定的范围查询数据

dengqiang2016 2012-07-11 08:40:04
slqserver 使用很久后数据库有很多的数据40,50万条甚至更多,这样查询数据库就会变得非常的慢,
有没有办法在查询数据库的时候限定在某一个范围内查询而不是在整个数据库进行查询。以提高查询速度,就跟新使用的数据库一样快,至少不能卡主7,8秒钟不动。
...全文
466 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
dengqiang2016 2012-07-11
  • 打赏
  • 举报
回复
已经在数据库添加了,但是查询的时候还是一样的卡,还需要修改sql语句吗?
--小F-- 2012-07-11
  • 打赏
  • 举报
回复
Select Top 25 F_GangZhong,F_StdNo from T_Detail where F_GangZhong<>'' group by F_GangZhong,F_StdNo order by F_StdNo DESC

F_GangZhong,F_StdNo 字段加索引试试
dengqiang2016 2012-07-11
  • 打赏
  • 举报
回复
【Select DISTINCT Top 25 F_Model,F_StdNo from T_Detail where F_Model<>'' order by F_StdNo DESC】
【Select DISTINCT Top 25 F_GangZhong,F_StdNo from T_Detail where F_GangZhong<>'' order by F_StdNo DESC】
这是数据库查询语句查询一次要5秒钟,在数据库里面查询也要5秒钟,而在软件里面要连续查询两次。
这样就要10秒钟才可以。
人生无悔 2012-07-11
  • 打赏
  • 举报
回复
按你的限定范围建分区表,比如按时间,可以按..到..建一个分区,类推。。。
AcHerat 2012-07-11
  • 打赏
  • 举报
回复
在测试库里试试。
SQL77 2012-07-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
应该要到百万级了,数据库已经连续使用了好几年了。每天数据都接近百条。
[/Quote]
那要看你查询什么。查询每天的数据就限定条件日期范围来查啊。月,年这些肯定得另外整
AcHerat 2012-07-11
  • 打赏
  • 举报
回复
楼主可以试着修复下索引碎片,或者重建索引看看。
dengqiang2016 2012-07-11
  • 打赏
  • 举报
回复
应该要到百万级了,数据库已经连续使用了好几年了。每天数据都接近百条。
AcHerat 2012-07-11
  • 打赏
  • 举报
回复
数据还没到百万级,怎么会这么慢,语句问题吧!试试多做做优化,难道写的查询语句是关于整个库的?不是按几张表的连接来查询?
dengqiang2016 2012-07-11
  • 打赏
  • 举报
回复
重新写了一下sql语句执行起来就正常了。主要是这句【order by F_StdNo DESC】改写优化后就好了。

27,581

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧