数据库性能调优
2021-05-18 22:45:50 17 举报
AI智能生成
数据库性能调优
作者其他创作
大纲/内容
问题占比
索引问题 80%
sql写法问题 10%
数据设计问题 10%
原则
缩小范围原则,不要一次性取太多数据
网络请求耗时
锁住数据的可能性变大
查询前进行 explain 查看执行计划
避免上线了才发现慢sql,在开发时就避免了
业务查询提前设计好索引
没索引跑到5万数据就卡了
有索引跑到千万没问题
不要子查询包含太多数据,尽量一次性查出来,子查询会进入内存临时表
为了查询更快,可以空间换时间
业务点查,记住可以redis等缓存加速
oltp olap要分开当然现在很多解决方案一体化的 例如 tidb
优化案例
select * from t_user where id='123'
指导思想
要让查询条件匹配字段类型 减少隐式转换 现在高版本的数据库 都能智能识别
改写后
select * from t_user where id=123
select * from t_user a join (select user_id,sum(money) from t_user_money group by user_id) b on a.user_id=b.user_id where a.createtime>=current_date
指导思想
改写后
select a.user_id,sum(b.money) from t_user a join t_user_money b on a.user_id=b.user_id where a.createtime>=current_date group by a.user_id
0 条评论
下一页