我有一個包含復合主鍵的(大)表,由 5 列(a、b、c、d、e)組成。
我想有效地將??具有其中兩列(a e)的所有行選擇為給定值。
在 PostgreSQL 中,我需要一個索引嗎?或者資料庫會使用主鍵(甚至部分使用?)
我看過以下帖子,其中指定 MySQL 可以使用多列索引的最左側部分來有效地查詢行。但是我沒有在復合主鍵上找到任何 PostgreSQL 的東西。
uj5u.com熱心網友回復:
為了獲得最佳性能,您需要在(a, e).
如果這是一個選項,您可以洗掉主鍵并將其替換為 on (a, e, b, c, d)。然后主鍵索引將支持您的查詢,就唯一性而言,它同樣出色。
您還可以在(e). PostgreSQL 可以組合對多個索引的掃描。這不會像多列索引那樣快,但生成的索引會更小。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/408053.html
標籤:
上一篇:Postgres保存傳入的資料
