MySQL亿级数据数据库优化方案测试-银行买卖营业流水记录的查询
资金流水一样平常会凭证时刻举办查询,看看这速率到底奈何。
我去,脑补一下,当你拿这付出宝查汗青资金明细的时辰,56条信息,103.489秒,也就是快要2分钟的查询速率,你会是奈何的体验。哦 哦,差池,这个还没加用前提,那下面单独试试某个用户不限时刻范畴的前提是奈何的。
也是快要1分半的速率,那在试试金额的前提。
同样都是快要一分半的时刻。 那把两个前提做下级联,看看结果会是奈何。 一样,也是快要1分半的时刻。 小总结一:在不加索引的环境下,无论单独,照旧连系前提查询,功效都是1分多钟不到2分钟。 好吧,那就加上索引试试,看看到底会有啥样事迹产生。 给用户加索引
给金额加索引
给时刻加索引
小总结二: 成立索引的时刻均匀在1400秒阁下,或许在23分钟阁下。 索引都成立完了,在开始早年的前提查询,看看结果。 1、时刻范畴查询
2、用户查询与钱的连系查询 3、用户查询与钱与时刻三个前提的连系查询
小总结三:成立完索引后,这种级联性子的查询,速率根基都很快,数据量不大的环境下,根基不会高出一秒。 因为时刻的范畴返回是56条数据,数据量较量小,以是速率快也许与这个有关,那尝试下前提多的数据结果会是什么样。 先试试加完索引, 金额前提的结果。 2千5百万的数据,返回时刻为11.460秒。 加一个用户数目较量多的前提 UserID=21 返回1000多万的数据,用了6秒 在找一个用户数目较量少的userid=34 返回4000多条,用不到1秒。 小总结四:前提返回的数据统计量越多,速率就越慢,高出1000万就慢的离谱,1秒阁下就是100万的量才行。 那。。。。。。。。。。。。咱们措施猿都知道,我们在做数据的时辰,都要用到分页。分页一样平常会用到LIMIT,好比每页10行,第二页就是LIMIT 10,10,得试试在分页的时辰,哪些页的环境下,会是什么样的结果呢?
小总结五:LIMIT 参数1,参数2 在跟着参数1(开始索引)增大时辰,这个速率就会越来越慢,假如要求1秒阁下返回时辰的速率是100万数据,在多在大就慢了,也就是,假如10条一页,当你到第10万页之后,就会越来越慢。假如到30万页之后,也许就会到不到一样平常体系的3秒要求了。 数据库都建上索引了,那我插数据速率有没有影响呢,那试试 也就是说100条数据插了快要5秒,均匀每秒插20条。 小总结六:也就是说,凭证这样的速率插入,并发量一但大的环境下,操纵起来会很慢。以是在有索引的前提下插入数据,要么索引失效,要么插入会出格慢。 分库分表的思想,一个大表返回那么大都据慢,那我把它酿成多少张表,然后每张表count(*)后,我统计累加一下,一合计,就是全部数据的查询功效的条数,然后就是到第几多页,我先算一下这页在哪个库,哪张表,在从那张表读不就完了。通过之前 的总结,100万数据返回为1秒,以是就一张内外放100万个数据,1亿的数据就100张表。
(编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |