将MySQL去重操作优化到极致之三弹连发(三):用rocksdb替代innodb

前面已经建立了索引,优化了SQL语句,并将单线程变为多线程并行执行,去重时间由最初的35秒优化为3.5秒,是不是就到此为止呢?吴老师又使用了rocksdb存储引擎替代innodb的方法。这里有必要交代一下命题的背景。这道MySQL数据库优化的题目出自是阿里内部的竞赛题,当然我是听吴老师口述的,真正的题目及其竞赛规则与竞赛环境不甚明确,但有一条是允许自由选择MySQL存储引擎。在实际的生产环境中,几...
阅读(2873) 评论(2)

将MySQL去重操作优化到极致之三弹连发(二):多线程并行执行

上一篇已经将单条查重语句调整到最优,但该语句是以单线程方式执行。能否利用多处理器,让去重操作多线程并行执行,从而进一步提高速度呢?比如我的实验环境是4处理器,如果使用4个线程同时执行查重sql,理论上应该接近4倍的性能提升。一、数据分片        我们生成测试数据时,created_time采用每条记录加一秒的方式,也就是最大和在最小的时间差为50万秒,而且数据均匀分布。因此先把数据平均分成4...
阅读(2398) 评论(0)

将MySQL去重操作优化到极致之三弹连发(一):巧用索引与变量

元旦假期收到阿里吴老师来电,被告知已将MySQL查重SQL优化到极致:100万原始数据,其中50万重复,把去重后的50万数据写入目标表只需要9秒钟。这是一个惊人的数字,要知道仅是insert 50万条记录也需要些时间的。于是来了兴趣,自己实验、思考、总结做了一遍。一、问题提出        源表t_source结构如下:item_id int,created_time datetime,modif...
阅读(2333) 评论(2)
    个人资料
    • 访问:1428292次
    • 积分:18733
    • 等级:
    • 排名:第527名
    • 原创:267篇
    • 转载:20篇
    • 译文:5篇
    • 评论:184条
    博客专栏
    文章分类
    最新评论