mysql高并发的解决方法 - SEO - 新闻资讯 - mysql高并发的解决方法
新闻资讯

mysql高并发的解决方法

发布时间:2021-03-19 浏览次数:17

mysql高并发的解决方法有:优化SQL语句,优化数据库字段,加缓存,分区表,读写分离以及垂直拆分,解耦模块,水平切分等。

对于mysql如何处理高并发,今天爱可生小编就来介绍下几个优化方案。 

6c7093a01b8c1ffa

高并发大多的瓶颈在后台,在存储mysql的正常的优化方案如下:


(1)代码中sql语句优化


(2)数据库字段优化,索引优化


(3)加缓存,redis/memcache等


(4)主从,读写分离


(5)分区表


(6)垂直拆分,解耦模块


(7)水平切分


方案分析:


1、方法1和方法2是最简单、提高效率最快的方法。因为每个句子都命中了索引,效率最高。但是,如果索引是为了让sql达到最佳,索引就会泛滥。对于1000万以上的手表,维护索引的成本大大增加,反而增加了数据库内存的成本。


2、优化数据库字段。有一次,一位高级程序员发现表中字段的设计,一个日期类型,被设计成 varchar类型,在不规范的情况下,无法对写入数据进行校验,索引的效率也不同。


3、缓存适合读多写少,更新频度相对较低的业务场景,否则缓存异议不大,命中率不高。缓存通常来说主要为了提高接口处理速度,降低并发带来的db压力以及由此产生的其他问题。


4、分区不是分表,结果还是一张表,只不过把存放的数据文件分成了多个小块。在表数据非常大的情况下,可以解决无法一次载入内存,以及大表数据维护等问题。


5、垂直拆分将表按列拆成多表,常见于将主表的扩展数据独立开,文本数据独立开,降低磁盘io的压力。


6、横向分割,横向分割的主要目的是提高单张表格的并发读写能力(将压力分散到单个表格中)和磁盘 IO性能(将一个非常大的. MYD文件分摊到单个小表格的. MYD文件中)。假如没有超过千万级的数据,为什么要拆分,只对单个表进行优化也是可以的;如果没有太大的扩展,分区表通常也能满足要求。因此,一般情况下,水平拆分是最后的选择,在设计上还是需要一步一步的。

相关推荐

产品试用 产品试用
400-820-6580 免费电话