2016-09-16 44 views
0

我的用戶表沒有多行......尚未。PostgreSQL查詢計劃是否依賴於錶行數?

可能相同查詢的查詢計劃隨着表的增長而改變?

即看看我的應用程序將如何擴展,我應該在使用EXPLAIN之前將我的users表種入數十億行嗎?

+1

是的,計劃**將隨着行數的增加而改變。 –

+0

K.謝謝。嗯...接下來,我會找到種子我的用戶表的好方法。 – ma11hew28

回答

2

估計的行數可能是影響選擇查詢計劃的最重要因素。支持此

兩個例子:

  • 如果你在表上的索引列使用WHERE條件,三件事情可能發生:

    1. 如果表是非常小或大部分行符合條件,則將使用順序掃描來讀取整個表並過濾出與條件匹配的行。

    2. 如果表格很大,且低百分比的行匹配條件,則會使用索引掃描。

    3. 如果表格很大,並且中等百分比的行匹配條件,則會使用位圖索引掃描。

  • 如果您連接兩個表格,表格上的估計行數將決定是否選擇嵌套循環連接。