优化查询数据慢的方式
Posted webster1
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了优化查询数据慢的方式相关的知识,希望对你有一定的参考价值。
mysql数据上限 5000万 超过性能急剧下降
提升效率;
字段长度
字段类型
sql优化
索引
减少DDL语句(表的修改等)
分库分表:处理数据过大查询慢
垂直拆分(userid放用户库 orderid放订单库) 存在表性能瓶颈 不易扩展 事物处理复杂(不同库 事物)
水平拆分(orderid % 3 = 具体库的库 ) 分片事物
分库分表: 都有事物问题 跨库跨表Join问题 多数据源管理麻烦
分布式事物 :一致性hash算法
跨库join是共同难题 性能问题 尽量少使用多表join
解决方案:
mycat proxy可以帮忙命中db (ha高可用) (阿里的mycat-cobar、)
driver (当当网的sharding-jdbc:先分片规则配置-> JDBC规范重写 -> sql解析 sql路由(id信息%10) sql改写 执行(select * from db0.user) ->归并)
分片规则:
分片的列:userid
配置分片数据库表算法:ds_$->{userid % 2}
qps
以上是关于优化查询数据慢的方式的主要内容,如果未能解决你的问题,请参考以下文章