Mysql数据库优化

localhost8080 发布于 07/07 20:07
阅读 796
收藏 3

mysql数据库中有个收集用户行为的表,数据量有五千万条,现在我需要将它跟其他表关联分页查询,关联的表也有百万条数据,查询数据还好,但是因为分页要查询总数所以特别慢,大佬有没有什么好的办法

加载中
0
魔力猫
魔力猫

为啥要总记录数呢?没有这个一样分页,总分页数这个值,除非你要一次性直接到最后一页,不然没任何必要的。建议重新考虑一下需求,另外就是看能否更多利用索引统计,以及如果查询条件固定,能否预先计算。

1
开源中国首席C菜鸟
开源中国首席C菜鸟
这还要问啊 导入es或者mongodb 在 mysql中别想了,两者笛卡尔集几十亿
1
独孤晓林

看业务逻辑,可以考虑分表!两边一起拆!

1
喜欢自在
喜欢自在

首先总数不是分页必须的,如果你实在要总数来分页,可以关联的主表总数就可以了,几千W的数据对MYSQL来说真心不算多,搞通信的一天的数据都是几千W

1
dzfking007
dzfking007

建好索引,特别是排序字段,几千万的数据mysql处理很easy,另外你可以看看mycat这种分布式的数据库中间件,也许能帮到你

给大家推荐一个很不错的接包网站,http://5511code.com

1
开源划水
开源划水

只显示上一页,下一页

1
玻璃门
玻璃门
推荐分表,分表操作可以通过用户的操作类型分,好处是可以分散索引,维护索引的开销表小,统计可以用一级汇总思想 这样数据量就压缩了
1
-
-喜头鱼-

能分表就分表,不能分表就分页,不能分页就改需求

0
剧与
剧与

首先先说不要进行联表查询,都放业务里处理。其次你都单表查询了,只要单表索引没问题,查总数不是很简单

0
mickelfeng
mickelfeng

这个要看你的业务场景,关联什么表,有的数据可以存缓存呢

返回顶部
顶部