MySql 上亿记录处理问题 !!!!
按网上的优化方法进行了一定的优化
对折个表建立了分区表 按记录时间的月进行的分区,也就是12个分区
现在的问题是系统要对这个表数据进行分页访问,经60000W的数据量测试,有如下的问题:
=============问题1==============
统计记录总数的时候发现非常的慢,
在数据引擎为: Myisam 时:
select count(*) from test 很快
select count(id) from test where addtime>='2013-01-01' and addtime<='2013-01-31' 很慢
在数据引擎为:InnoDB 时:
select count(*) from test 很慢
select count(id) from test where addtime>='2013-01-01' and addtime<='2013-01-31' 很快
请问有什么方法能加快记录的统计????????
=============问题2==============
还有分区表貌似没有什么用处,建立分区表后,我按分区关键字段查询记录也没见提高查询速度,我想应该是我用错了,请问我要怎么样才算正确使用分区表来提高查询速度呢????
=============问题3==============
还有分表的话具体怎么实施?如果我按月分表,但是碰到要夸月查询的情况怎么办?
现在我只在统计分析上做了分表,按年,月,日 分表,由存储过程自动计算放入相应的表
=============问题4==============
还有用limit 分页,在查询比较靠后的页时,会很慢。
在使用
SELECT * FROM visitlog where ID >(SELECT ID from visitlog ORDER BY ID ASC LIMIT 20000000,1)
ORDER BY ID ASC
LIMIT 20;
这种方式后有所提高,但是发现只能对ID字段有提高,用在日期型或其他类型上都很慢,怎么办???
相关推荐
mysql数据库如何实现亿级数据快速清理
主要介绍了mysql数据库实现亿级数据快速清理的方法,非常不错,具有参考借鉴价值,需要的朋友参考下吧
上亿级别记录等大数据场景的MySQL优化和运维之道
MySQL自动停机的问题处理实战记录
主要给大家介绍了关于MySQL自动停机的问题处理,文中通过示例代码介绍的非常详细,对大家学习或者使用MySQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
MySQL 亿级数据分页的优化
domain/v1.0/module/method?order=condition&orderType=desc&offset=1800000&limit=500 domain、module 和 method 都是化名,代表接口的域、模块和实例方法名,后面的offset和limit代表分页操作的偏移量和每页的数量,也就是说该同学是在 翻第(1800000/500+1=3601)页。初步捞了一下日志,发现 有8000多次这样调用。这太神奇了,而且我们页面上的分页单页数量也不是500,而是 25条每页,这个绝对不是人为的在功能页面上进行一页一页的翻页操作,而是数据被刷了(说明下,我们生产环境数据有1亿+)。详细对比日志发现,很多分页的时间是重叠的,对方应该是多线程调用。通过对鉴权的Token的分析,基本定位了请求是来自一个叫做ApiAutotest的客户端程序在做这个操作,也定位了生成鉴权Token的账号来自一个QA的同学。立马打电话给同学,进行了沟通和处理。分析其实对于我们的MySQL查询语句来说,整体效率还是可以的,该有的联表查询优化都有,该简略的查询内容也有,关键条件字段和排序字段该
mysql中Load Data记录换行问题的解决方法
问题是这样的:表persons有两个字段: id和name文本文档persons.txt中内容(其中每行字段之间用tab分割):1 Bush2 Carter3 Bush在mysql命令行下使用 load data local infile “persons.txt” into table persons 导入数据到persons表中。导入后查看persons表的数据,与persons.txt的内容一致。但是使用语句select distinct name from persons查询,结果中Bush出现了两次(正常结果应该是Bush只出现一次)。 原因分析:经过分析,发现原因


