MySQL可以实现复杂的查询,但存储容量相对较少,只能通过合理设计来存储海量数据,来提升其性能。
高性能方案
1. 主从同步
主从同步依赖于良好的网络环境(物理备份必不可少)。
2. 读写分离
写在主数据库-必要时使用加锁/事务等机制,读在从数据库,这样可以提升数据的访问性能。
还可以使用冗余多个从数据库来提升效率。
3. 分库分表
分库分表的算法。
以上2,3高性能方案都可以中间件MyCAT来实现。
4. 微服务场景
针对每个微服务中数据量少的情况,可以将每个微服务对应一个数据库,来提升数据的访问性能。
SQL性能评估
explain查看和调优。
慢查询日志或工具mysqldumpslow找性能较低的SQL。
高可用方案
去中心化的集群(选举机制和心跳机制)
综上
其它(区分相似功能的不同之处)
小数用float还是decima。
编码使用utf-8还是GBK。
使用多表查询还是子查询。