簡體   English   中英

在PostgreSQL中按列值搜索性能

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM