【发布时间】:2018-09-29 22:33:57
【问题描述】:
我有一张大约有 4000 行的表格。该表有一个名为“类型”的列。 查询
SELECT DISTINCT type FROM table
显示 14 行。
在最近的将来,该表将增长到大约 1000 万行,我不知道不同的“类型”值是保留 14 还是增加。
如果我创建另一个名为“types”的表并在我的主表中创建“type_id”列而不是字符串“type”,这是否有意义?在这种情况下,每次遇到新值时,我都必须在类型表中插入新行。
或者只是为我的类型列添加一个哈希索引然后搜索就足够了
SELECT * FROM table WHERE table.type IN('value1', 'value2', 'value3')
?
【问题讨论】:
-
一般来说,规范化你的表格(例如将类型列移动到自己的表格中)是一件好事。不是为了性能,而是为了方便。
标签: sql postgresql