表的设计的优化
参考阿里开发手册(嵩山版)
设置合适数值类型(tinyint,int,bigint)
设置合适的字符串类型(char,varchar)
索引优化
SQL语句优化
需要指明字段名称,避免直接使用select*,导致回表查询
避免造成索引失效的写法
尽量用union all代替union,union会多一次过滤,效率较低
使用union和union all对select语句结果进行合并时,union会自动过滤重复数据,降低效率
避免在where子句中对字段进行表达式操作
可能会导致索引失效
Join优化,能用innerJoin就不用left join,right join,如果必须使用,要用小表驱动大表
innerjoin会自动把小表放到前面,小表放到前面可以减少连接次数,性能更好
主从复制,读写分离
读操作数量远多于写操作时,写操作性能较差,会影响读操作
可以使用读写分离架构
主库负责写操作,写完同步到从库
从库负责读操作