永发信息网

如何提高sql数据库的查询速度

答案:3  悬赏:70  手机版
解决时间 2021-03-25 05:27
如何提高sql数据库的查询速度
最佳答案
这是一个典型问题,在网上搜一下就行了。给你搜了一个粘过来看看
1.索引优化
建索引的选择必须结合SQL查询、修改、删除语句的需要,一般的说法是在WHERe里经常出现的字段建索引。如果在WHERe经常是几个字段一起出现而且是用AND连接的,那就应该建这几个字段一起的联合索引,而且次序也需要考虑,一般是最常出现的放前面,重复率低的放前面。
SQL Server提供了一种简化并自动维护数据库的工具。这个称之为数据库维护计划向导(Database Maintenance Plan Wizard ,DMPW)的工具也包括了对索引的优化。如果你运行这个向导,你会看到关于数据库中关于索引的统计量,这些统计量作为日志工作并定时更新,这样就减轻了手工重建索引或者DBCC INDEXDEFRAG所带来的工作量。如果你不想自动定期刷新索引统计量,你还可以在DMPW中选择重新组织数据和数据页,这将停止旧有索引并按特定的填充因子重建索引。
2.
改善硬件(双CPU,Raid 5,增加内存)
tempdb这个临时数据库,它对性能的影响较大。tempdb和其他数据库一样可以增大,可以缩小。当数据文件需要增长的时候,通常不能保持剩余部分的连续性。这时文件就会产生碎片,这种碎片会造成性能下降。这种碎片属于外来性碎片。要阻止在tempdb中产生外来性碎片,必须保证有足够的硬盘空间。一般将tempdb的容量放到平均使用容量。而你也应该允许tempdb自动增长,比如你有个一个超大的join操作,它建立了一个超过tempdb容量的时候,该查询将失败。你还要设置一个合理的单位增长量。因为如果你设得太小,将会产生许多外来性碎片,反而会占用更多资源。sqlserver调优最有效的做法之一,就是把争夺资源的操作独立出去。tempdb就是一个需要独立出去的部分而tempdb和其他系统库一样是公用的,是存取最可能频繁的库,所有处理临时表、子查询、GROUP BY、排序、DISTINCT、连接等等。它最适合放到一个具有快速读写能力的设备上。比如RAID0卷或RAID0+1卷上。
查询语句一定要使用存储过程;
3、查询尽量使用TOP子句
4.将表按一定的约束分成子表,(如按分类)创建约束,在用Like 时,先用分类 and like , 应该可能解决问题. 而且效果立秆见影!(你要确定SQL会认识你建的分区视图).我一个表有上百万的记录(700兆),用分区视图后,查询速度基本跟10万行一样.
如果还是太慢,还可以考滤分布式分区视图!这总可以解决问题了吧!
关键在于你能否把大表按某种约束分解成子表.
全部回答
推荐你看《sql语言艺术》。
两个表的结构一致,包括主键,索引等,历史数据和当前数据,可以按日期时间来切,
每隔一段时间,将当前数据最后的一部分搬到历史表,然后从当前数据中删除...一般就是这样了.追问我大概是这么做的,但是查询的时候,还是要查两各表,那这样的话,查询速度应该是没有变快的吧
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
91年52度的五粮液酒怎样封存?
我这个算秃了吗
男友说我有气质,有魅力,有女人味,他说这些
沈阳自贸区在什么位置
有首歌记忆犹新的歌,歌词开头大致是这样:蒸
商品房销售面积计算及公用建筑面积分摊规则的
从保定火车站乘k508次列车到北京西站要多久
谁神之,人神之"出自于 蒲松龄
碳排放交易是怎么一回事
单选题X、Y、Z三种物质的分子组成分别符合烷
三角函数平方关系中所有公式,包括cot,sec,
爸爸妈妈最好吃 读后感
成年母萨摩耶的身长,胸围是多少?
智能小车转弯问题新手勿进
有没有线上学跨境电商的?
推荐资讯
一五复开八稳中是什么数
读了刘备借刀除吕布后的收获和感想是什么
经济学中道德风险和逆向选择的含义
单选题由关系式1ogxy=3所确定的函数f(x)的
一则很老的广告,关于化妆品的,谁知道?
二元母猪配什么公猪好
求一鸡场总平面设计图
淘宝上的店铺里面没东西被收回去后,以后要开
在一家外企录取为行政助理,公司要求每一个新
急求恶女装汉化补丁 高分悬赏
( A) The garden is indeed beautiful. ( B)
生蚝对女人的功效 女的吃生蚝有什么好处
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?