[英]Search performance by column value in PostgreSQL
我有一張桌子,里面有大約4000行。 該表具有稱為“類型”的列。 查詢
SELECT DISTINCT type FROM table
顯示14行。
在不遠的將來,該表將增長到大約一千萬行,我不知道不同的“類型”值是否將保留14或增加。
如果我創建另一個名為“ types”的表並在主表中創建“ type_id”列而不是字符串“ type”,是否有意義? 在這種情況下,每次遇到新值時,我都必須在類型表中插入新行。
還是為我的類型列添加一個哈希索引然后用
SELECT * FROM table WHERE table.type IN('value1', 'value2', 'value3')
?
我投票給一張新桌子。 這將確保您具有明確的類型列表。 您可以添加其他信息,例如:
另外,這將使任何查詢更快地獲取類型列表(例如針對應用程序)。 它還將確保類型一致。 如果它們是字符串,這尤其重要-字符串可能會拼寫錯誤,具有隱藏字符或只是擴散。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.