1、问题遇到的现象和发生背景
当面对大数据量web应用时(百万级或千万级),Mysql架构该如何设计?我应该去哪些方面学习和改进?
首先说明项目难点,我们用户不多,但是sql复杂,主要是多表关联的sql很多,最多的大概需要关联10张表。而且关联表数据多,很影响查询性能。
2、我的疑问更进一步解释
我可不可大致分为两种场景
①、Mysql单机:1、我只能通过sql优化,尽量走索引提高查询性能。
2、还可尽量避免多表关联,尽量拆分成单表查询来提升效率。
②、Mysql集群(这个是我的主要疑问所在):
1、我想,一个主从复制架构,无非就是A、B 两个Mysql服务一个对外提供服务,另一个起到容灾备份,这样
并不能解决查询性能问题。
2、若A和B 为主主复制,两个服务保证数据同步的情况下,都对外提供服务,这虽可分担一些查询压力,
但**单个复杂sql**终会打到具体的某个服务上,那么问题来了,若这个**复杂的sql**本身已经无法优
化,Mysql本身单机也有性能瓶颈,那么是不是性能问题还是没有得到解决?
3、临时疑问:大厂那些复杂sql是如何保证高并发时候还能秒回,这种极致的查询性能到底是怎么做到的?
3、我想要达到的结果
所以,我并不知道自己应往哪个方向优化Mysql集群,还请告知我一二,扔给我一个学习的方向。