我想优化我的查询,我当前正在查询一个加载了一系列从0到9999的SMALLINT值的表。
答案 0 :(得分:2)
唯一可以确定的方法是测试它。
几个月前我使用PostgreSQL做了类似的测试。问题是用generate_series()替换日历表是否有意义。在我们的案例中,表格更快。但是如果你测试,你可能会发现generate_series()在一定数量的行中变得更快。 (这就是我们发现的,但是行数远远超过我们使用过的任何东西。)我的猜测是,在这一点上,生成序列所花费的时间少于读取索引和行所需的时间磁盘。
这是猜测,因为PostgreSQL的EXPLAIN ANALYZE没有提供有关磁盘I / O的更多细节。