【问题标题】:Do PostgreSQL query plans depend on table row count?PostgreSQL 查询计划是否依赖于表行数?
【发布时间】:2017-01-25 06:03:06
【问题描述】:

我的 users 表还没有很多行。 ????

同一个查询的查询计划会随着表的增长而改变吗?

即,要查看我的应用程序将如何扩展,我是否应该为我的users 表添加 BILLIONS ????使用EXPLAIN之前的行数?

【问题讨论】:

  • 是的,计划随着行数的增加而改变。
  • K.谢谢你。嗯...接下来,我将找到一种为用户表播种的好方法。

标签: performance postgresql explain sql-execution-plan


【解决方案1】:

估计的行数可能是影响选择哪个查询计划的最重要因素。

支持这一点的两个例子:

  • 如果您在表的索引列上使用WHERE 条件,可能会发生三件事:

    1. 如果表很小或匹配条件的行比例很高,则会使用顺序扫描读取整个表并过滤掉匹配条件的行。

      李>
    2. 如果表很大并且行的百分比很低,则将使用索引扫描。

    3. 如果表很大并且有中等百分比的行匹配条件,将使用位图索引扫描。

  • 如果您连接两个表,则表上的估计行数将决定是否选择嵌套循环连接。

【讨论】:

    猜你喜欢
    • 2016-11-10
    • 2019-11-26
    • 2020-06-20
    • 1970-01-01
    • 1970-01-01
    • 2017-07-03
    • 2018-06-26
    • 1970-01-01
    • 2014-07-20
    相关资源
    最近更新 更多