数据库优化可以从哪些方面进行优化

 我来答
百度网友5e7d60f
2017-06-02 · TA获得超过2.6万个赞
知道大有可为答主
回答量:9522
采纳率:91%
帮助的人:1567万
展开全部
1、sql语句的执行计划是否正常。
2、减少应用和数据库的交互次数、同一个sql语句的执行次数。
3、数据库实体的碎片的整理(特别是对某些表经常进行insert和delete动作,尤其注意,索引字段为系列字段、自增长字段、时间字段,对于业务比较频繁的系统,最好一个月重建一次)。 4、减少表之间的关联,特别对于批量数据处理,尽量单表查询数据,统一在内存中进行逻辑处理,减少数据库压力(java处理批量数据不可取,尽量用c或者c++ 进行处理,效率大大提升)。
5、对访问频繁的数据,充分利用数据库cache和应用的缓存。
6、数据量比较大的,在设计过程中,为了减少其他表的关联,增加一些冗余字段,提高查询性能。
柚鸥ASO
2024-03-16 广告
数据库的优化说起来很简单。 就像打水的木桶一样,降低瓶颈。首先要对数据库运行情况做分析。 看哪些等待时间较多,有哪些瓶颈。比如是cpu?IO?硬解析较多?cache命中率低?再分别处理, 从数据库整体来说,一般主要还是根据主机配置情况和实际... 点击进入详情页
本回答由柚鸥ASO提供
紫云残鸢
2017-06-02 · TA获得超过145个赞
知道小有建树答主
回答量:248
采纳率:55%
帮助的人:128万
展开全部
1、硬件方面,服务器不能太差,磁盘的读写性能影响io这个可以考虑使用好的硬盘,如ssd
2、根据服务器设置好数据库的参数,比如内存啥的
3、表设计的时候要选好字段类型,建立正确的索引
4、sql的优化,尽量使用到索引,不要出现全表扫描
等等吧,网上这样的资料挺多的,我就说这些大概的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
爱可生云数据库
2020-11-05 · MySQL开源数据库领先者
爱可生云数据库
爱可生,金融级开源数据库和数据云服务整体解决方案提供商;优秀的开源数据库技术,企业级数据处理技术整体解决方案提供商;私有云数据库云服务市场整体解决方案提供商。
向TA提问
展开全部
MRR 是 MySQL 针对特定查询的一种优化手段。假设一个查询有二级索引可用,读完二级索引后要回表才能查到那些不在当前二级索引上的列值,由于二级索引上引用的主键值不一定是有序的,因此就有可能造成大量的随机 IO,如果回表前把主键值给它排一下序,那么在回表的时候就可以用顺序 IO 取代原本的随机 IO。
如果想关闭 MRR 优化的话,就要把优化器开关 mrr 设置为 off。
默认只有在优化器认为 MRR 可以带来优化的情况下才会走 MRR,如果你想不管什么时候能走 MRR 的都走 MRR 的话,你要把 mrr_cost_based 设置为 off,不过最好不要这么干,因为这确实是一个坑,MRR 不一定什么时候都好,全表扫描有时候会更加快,如果在这种场景下走 MRR 就完成了。
MRR 要把主键排个序,这样之后对磁盘的操作就是由顺序读代替之前的随机读。从资源的使用情况上来看就是让 CPU 和内存多做点事,来换磁盘的顺序读。然而排序是需要内存的,这块内存的大小就由参数 read_rnd_buffer_size 来控制。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式