数据库优化的阶段是什么

发布时间:2022-01-07 11:45:24 作者:iii
来源:亿速云 阅读:134

这篇文章主要讲解了“数据库优化的阶段是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“数据库优化的阶段是什么”吧!

0x01:SQL优化及应用程序优化

一个系统总是从小到大,所以在系统还是小型系统的时候。首先应该注重表的设计,合理使用主键、外键、索引;字段选用合适的数据类型、合适的数据长度。使用SQL考虑索引什么情况是有效的;什么时候是失效的,避免使用索引失效的SQL。

另外应该程序优化也很重要,比如能批量执行SQL,就不要在程序中循环执行SQL。使用各种框架的缓存也非常重要,例如,如果使用MyBatis时,就好合理使用MyBatis的一级缓存和二级缓存;使用Hibernate时,就好合理使用Hibernate的一级缓存和二级缓存等。

0x02:数据库读写分类

当业务量达到一定程度时,可以考虑数据库的读写分离方案,让读写业务分离。但是一定要考虑如何解决写库与读库的数据一致性问题。目前,很多开源的读写分离服务和框架。主要基于如下两种方案:

0x03:引入缓存数据库

NoSQL数据库目前也是大行其道,特别Redis数据库。例如使用Redis缓存服务器,可以把一些常用、不经常变化的数据缓存到内存。在内存读取数据的数据要比在硬盘读取的速度不知道快多少倍。引入缓存数据库增加了系统的复杂度,另外还有考虑关系型数据库NoSQL数据库数据一致性的问题。

0x04:垂直拆分

一个数据库由很多表的构成,每个表对应着不同的业务,垂直切分是指按照业务将表进行分类,分布到不同的数据库上面,这样也就将数据或者说压力分担到不同的库上面,如下图:

数据库优化的阶段是什么

优点:

缺点:

0x05:水平拆分

垂直拆分后遇到单机瓶颈,可以使用水平拆分。相对于垂直拆分的区别是:垂直拆分是把不同的表拆到不同的数据库中,而水平拆分是把同一个表拆到不同的数据库中。

相对于垂直拆分,水平拆分不是将表的数据做分类,而是按照某个字段的某种规则来分散到多个库之中,每个表中包含一部分数据。简单来说,我们可以将数据的水平切分理解为是按照数据行的切分,就是将表中 的某些行切分到一个数据库,而另外的某些行又切分到其他的数据库中,主要有分表,分库两种模式。如下图:

数据库优化的阶段是什么

分库模式

数据库优化的阶段是什么

分表模式

优点:

缺点:

感谢各位的阅读,以上就是“数据库优化的阶段是什么”的内容了,经过本文的学习后,相信大家对数据库优化的阶段是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

推荐阅读:
  1. 数据库优化
  2. MySQL数据库优化的5个阶段

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

数据库

上一篇:Java内存模型的知识点有哪些

下一篇:c++显式栈如何实现递归

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》