主要观点:通过SELECT * FROM xy WHERE y = 3 ORDER BY x查询可理解查询规划所需知识,有按y索引和按x索引的两种计划,可计算两种计划成本,需知道表大小|xy|和结果行数|q|,近似计算不同值数量|Y|很有用,常用算法 HyperLogLog 及简单有趣的 CVM 算法,通过一系列函数变化来理解 CVM 算法,如先只计数一半元素再修正等,最后通过动态调整flips值来控制内存使用,该算法结果分布中心在真实值且无偏,实际生产中可使用 HyperLogLog 但此算法简单易理解,还提供了相关链接。
关键信息:两种查询计划及成本计算,CVM 算法的实现过程及调整flips值,不同thresh值下算法运行情况等。
重要细节:假设xy大致均匀分布可近似|q|,CVM 算法中元素计数方式变化,不同flips值对内存和估计方差的影响等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。