问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

MSSQL数据库 数据量过200万,怎么样可以加速、稳定

发布网友 发布时间:2022-04-26 14:31

我来回答

6个回答

热心网友 时间:2022-04-07 20:05

随着记录的越来越多,访问效率有所降低那是正常的,但像你的“200万条记录,100MB的”数据库,应该效率很高才对的
估计是你哪里出现了瓶颈问题了

首先,问题可能由以下方面引起的:
1、磁盘io速度慢?
2、你的库中一些大表(记录比较多的表)的索引建立得不合理?
3、你的一些sql语句写法不够优化?
4、可能涉及到数据库操作的一些逻辑处理操作比较复杂?
5、分配给SQL SERVER的可用内存过小,造成数据缓存命中率过低?(即大部分数据每次都要读自硬盘,而不是读自内存缓冲)
6、是否有一些涉及到操作数据库的大计划任务在频繁的执行着?
7、是否表的索引产生了大量的碎片,造成命中率过低?

下面列出一些检查解决办法:
1、通过“windows 任务管理器”中的“进程”项添加io列检查io的变化及处理速度。
2、如果你系统是多个磁盘的,考虑在数据库的文件组下建立多个文件(这多个文件分散到不同的磁盘上去,以提高io处理速度)。
3、检查你的库中,哪些表的记录多,然后着重分析这些大表的结构、索引等是否建立得合理(注:索引不是越多越好的,因为索引在提高查询效率的同时,也会增加维护索引的代价的,如:update表、insert表、delete表等时需要维护索引)。
4、利用sql server自带的“事件探查器”去跟踪数据库中哪些语句的执行最为耗时(通过这个基本上可以定位整个系统慢在哪些语句上)?
5、找到一些下率低下耗时的语句,分析其涉及到的表的索引是否合理,可以把语句拷贝到“查询分析器”上,然后按"ctrl+K"显示语句的“执行计划”,然后按F5执行语句,看其“执行计划”的结果,跟踪分析这些语句慢在那里(这里有便于引导你去建立一些合理的索引)。
6、建议你的服务器只跑数据库,然后给其分配合理足够的内存让SQL SERVER独占,在“企业管理器”里,选中你注册的SQL SERVER服务器,右键,然后在弹出的窗口里选“属性”,进去再选“内存”那项,把内存的最大值设为一个合理的值(如:你的服务器只跑SQL 服务的话,那可以选80%的内存给SQL server)。
7、检查SQL server的作业,看是否常有一些大作业调度在执行?这些调度是否可以优化或合并?
8、定期对表的索引进行重建(特别是对一些频繁变化记录的大表),另外,在重建时,对一些频繁变化记录的表,其填充因子要填合适的值(如,一个表的记录是不断增加的,那填充因子就不能填100%了,这样容易引起页拆分而使效率降低),下面举个例子:
下例使用填充因子值 70 重建 authors 表上的所有索引。
DBCC DBREINDEX (authors, '', 70)

9、利用系统自带的一些存储过程去跟踪系统每个连接的cpu、io等情况或资源锁定情况,这样容易定位一些连接或操作或对象等。如:
sp_who2
sp_lock

热心网友 时间:2022-04-07 21:23

看一下索引的创建规则:
1、表的主键、外键必须有索引;
2、数据量超过300的表应该有索引;
3、经常与其他表进行连接的表,在连接字段上应该建立索引;
4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;
5、索引应该建在选择性高的字段上;
6、索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引;
7、复合索引的建立需要进行仔细分析;尽量考虑用单字段索引代替:
A、正确选择复合索引中的主列字段,一般是选择性较好的字段;
B、复合索引的几个字段是否经常同时以AND方式出现在Where子句中?单字段查询是否极少甚至没有?如果是,则可以建立复合索引;否则考虑单字段索引;
C、如果复合索引中包含的字段经常单独出现在Where子句中,则分解为多个单字段索引;
D、如果复合索引所包含的字段超过3个,那么仔细考虑其必要性,考虑减少复合的字段;
E、如果既有单字段索引,又有这几个字段上的复合索引,一般可以删除复合索引;
8、频繁进行数据操作的表,不要建立太多的索引;
9、删除无用的索引,避免对执行计划造成负面影响;

热心网友 时间:2022-04-07 22:58

100MB真的很小,优化的关键就是查询的索引,你检查你的查询语句,看看条件和排序的字段是否有索引。

热心网友 时间:2022-04-08 00:49

你的数据量并不大,加快访问速度,要考虑的因素很多
1,优化设计,包括数据库结构设计,尽可能少用连接查询,查询语句优化
2,优化数据库存储设计,建立高效的索引,按照建议的原则建立索引,存储介质要满足访问要求,比如高速磁盘
3,优化系统环境,系统尽量不要和其他应用混用,有防毒等等安全措施,保证充足的内存和CPU资源
4,做好系统维护,定期清理系统垃圾,定期维护索引,时间长了可以重做索引,定期做数据库碎片整理

等等,总之一个系统要运行的好,是由设计和维护的质量决定的,一个大型的数据库系统里面数据库管理员工作的重要性就体现在这里。

开始时候数据库数据量小,要经过压力测试才能发现问题,时间长了日志文件也变大,你可以做下性能监视

热心网友 时间:2022-04-08 02:57

给出你的表结构啊。。和使用环境。级常用查询方式(最好查询常用字段)
你这样模糊的问,没办法回答

热心网友 时间:2022-04-08 05:22

这个可能有很多原因,要具体 看一看才能有好的方案
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
我现在九十斤每天跑半小时可以减肥吗? 一只蛋鸡吃多少饲料 永诚财险水滴重疾2021值得推荐吗?重疾赔付次数有多少? 瑞泰保险水滴瑞选重疾险好不好?值得买吗? 水滴守护真爱重大疾病保障计划值得推荐吗?可靠吗? 去西塘和乌镇 为什么生死狙击花圣总是玩人类 江门豪江华庭带装修吗? 江门豪江华庭售楼中心电话是多少? 这种美图软件叫什么? 对于百万级数据库或者千万级数据库,下面2个方法哪个更高效? oracle数据库,搜索百万级别数据分页优化问题 如何优化一个有100万条记录的数据库表 wordpress百万级数据如何优化数据库 intel core i3-4130配什么显卡 intel core i3-4130配什么显卡? CPU英特尔 Intel酷睿i3-4130能玩大型3D游戏吗? i3 4130配什么显卡?配置 英特尔 core i3-4130配什么显卡 i3 4130和i32130区别 酷睿i3 4130好吗有谁用过 英特尔酷睿i3 4130主机能卖多少钱 Intel 酷睿i3 4130的核显性能怎么样? 如何理解反向购买中每股收益的计算 反向购买的成本问题 反向购买上市公司为什么是付出全部? 新人求教,会计准则为什么要规定反向购买呢 下列关于“反向购买”的表述中,正确的有( )——多选题 反向购买每股收益如何计算? 反向购买和补偿贸易有什么区别? sql语句优化。 数据级为百万级别 数据库中百万条数据怎么优化查询 sql 百万级数据库 查询很慢 大神优化下 sql 多表链接,数据量都百万级别,如何效率优化? Oracles数据库中有100万条数据,带条件查询,如何优化sql语句? sql server 到底能否处理百万级,千万级的数据? 我的华为手机导航栏失灵了,怎么按也没反应 有时还乱动,该怎么办? 看漫画这个软件如何切换账号?求解答! 华为手机虚拟导航栏组合有什么作用? 51开票软件一个手机,登录两个账号怎么切换? 华为手机系统导航栏怎么打开 51漫画游戏分享群怎么进 笔记本电脑屏幕碎了?保修吗 抖音直播改装苹果手机是不是真的 抖音短视频是不是只有苹果手机可以剪编呀,为什么安卓只有剪音乐?谁 抖音苹果xr改13的可用吗 各位好朋友们!抖音上有一个把苹果7系统改成X系统的,大家知道怎么弄的吗? 抖音上直播卖苹果手机xr改13怎么样 毒品有那些危害 秋天有哪些成熟的水果图片文享