mysql处理高并发的方法


小编给大家分享一下mysql处理高并发的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!mysql高并发的解决方法有:优化SQL语句,优化数据库字段,加缓存,分区表,读写分离以及垂直拆分,解耦模块,水平切分等。高并发大多的瓶颈在后台,在存储mysql的正常的优化方案如下:(1)代码中sql语句优化(2)数据库字段优化,索引优化(3)加缓存,redis/memcache等(4)主从,读写分离(5)分区表(6)垂直拆分,解耦模块(7)水平切分方案分析:1、方法1个方法2是最简单,也是提升效率最快的方式。因为每条语句都命中了索引,是最高效的。但是如果是为了使sql达到最优而去建索引,那么索引就泛滥开发云主机域名了,对于千万级以上的表来说,维护索引的成本大大增加,反而增加了数据库的内存的开销。2、数据库字段的优化。曾经发现一高级程序员在表字段的设计上,一个日期类型,被设计为varchar类型,不规范的同时,无法对写入数据校验,做索引的效率也有差别3、缓存适合读多写少更新频度相对较低的业务场景,否则缓存异议不大,命中率不高。缓存通常来说主要为了提高接口处理速度,降低并发带来的db压力以及由此产生的其他问题。4、分区不是分表,结果还是一张表,只不过把存放的数据文件分成了多个小块。在表数据非常大的情况下,可以解决无法一次载入内存,以及大表数据维护等问题。5、垂直拆分将表按列拆成多表,常见于将主表的扩展数据独立开,文本数据独立开,降低磁盘io的压力。6、水平拆,水平拆分的主要目的是提升单表并发读写能力(压力分散到各个分表中)和磁盘IO性能(一个非常大的.MYD文件分摊到各个小表的.MYD文件中)。如果没有千万级以上数据,为什么要拆,仅对单表做做优化也是可以的;再如果没有太大的并发量,分区表也一般能够满足。所以,一般情况下,水平拆分是最后的选择,在设计时还是需要一步一步走。看完了这篇文章,相信你对mysql处理高并发的方法有了一定的了解,想了解更多相关知识,欢迎关注开发云行业资讯频道,感谢各位的阅读!

相关推荐: MySQL的分区(一)

mysql支持范围分区(range)、列表分区(list)、column分区、哈希分区(hash)、key分区、字段列表分区等 以timestamp类型字段作为分区键进行范围分区,有两种方式: CREATE TABLE quarterly_report_sta…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 06/06 10:11
下一篇 06/06 10:11

相关推荐