1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > MySQL优化详解(五)——MySQL分库分表

MySQL优化详解(五)——MySQL分库分表

时间:2020-12-18 06:05:25

相关推荐

MySQL优化详解(五)——MySQL分库分表

天继续给大家介绍MySQL相关知识,本文主要内容是MySQL数据库的分库和分表思路。

一、分库分表基本原理

分库和分表就是将本来在一个数据库上存储的表,分散存储到多个数据库上。分库和分表可以显著降低MySQL数据库的存储压力,当数据库中的数据存储量越来越多时,不仅可能超出磁盘的存储空间大小,还可能对数据的增删改查操作性能造成极大的影响。因此,当一台设备上的硬件资源,达到了数据库的瓶颈时,就可以考虑进行分库和分表。

分库可以在前端简单的实现,例如,根据ID来进行分库,单数ID的数据存储在一个分库中,奇数ID的数据存储在另一个分库中。

二、分库分表存在的问题

但是,分库和分表也会带来一些问题,主要有以下三个方面:

1、事务问题

在进行分库和分表后,由于数据存储到了不同的数据库上,因此数据库事务管理上存在极大的困难。如果依赖数据库本身的分布式事务管理功能,将会付出很大的性能开销,而如果在编程端由应用程序实现逻辑上的事务操作,又会给开发人员造成额外负担。

2、跨库、跨表的联合查询问题

在进行分库和分表后,不同的数据表可能会分散存储在不同的数据库中,如果这些表有一定的关联性,那么在进行联表查询的时候,就无法join位于不同数据库的表,只能将原来一次查询可以完成的业务,拆分成多次查询。

3、额外的数据管理负担和数据运算压力

当进行分裤和分表后,如果要对数据库中的内容进行统计操作,则会带来非常大的开销,例如,计算学生成绩表中的平均分、查找学习成绩最好的10个学生等操作,本来在一个数据表上可以直接查询得到,但是如果我们将这些信息存储到了不同的数据表中,我们就需要通过多次查询,并进行额外的数据处理后,才可以得到结果。

原创不易,转载请说明出处:/weixin_40228200

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。