一次Group By+Order By性能优化分析
2. 读取索引idx_aid_day_pv中的一行,然后查察是否满意前提,假如day字段不在前提范畴内(20181220~20181224之间),则读取下一行;假如day字段在前提范畴内,则把pv值累加(不是 在姑且表中操纵); 3. 读取索引idx_aid_day_pv中的下一行,假如aid与步调1中同等且满意前提,则pv值累加(不是在姑且表中操纵)。假如aid与步调1中纷歧致,则把之前的功效集写入姑且表; 4. 轮回执行步调2、3,直到扫描完备个idx_aid_day_pv索引; 5. 对姑且表按照num的值做优先行列排序; 6. 按照查询到的前10条的rowid回表(姑且表)返回功效集。 增补声名优先行列排序执行步调说明:
该方案可行性 尝试发明,当我增进一行20181219的数据时,固然这行记录不满意我们的需求,可是扫描索引的也会读取这行。由于我做这个尝试,只弄了20181220~201812245天的数据,以是必要扫描的行数正好是全表数据行数。 那么假如该表的数据存储的不是5天的数据,而是10天的数据呢,更可能是365天的数据呢?这个方案是否还可行呢?先模仿10天的数据,在现偶然刻基本上今后加5天,行数与此刻一样785102行。
这里扫描行数2122417是由于扫描索引的时辰必要遍历整个索引,整个索引的行数就是全表行数,由于我方才又插入了785102行。 当我数据量翻倍之后,这里查询时刻明明已经翻倍。以是这个优化方法不不变。 方案2 扩充姑且表空间上限巨细 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |