按列字母存储值?

时间:2011-01-01 00:47:58

标签: database schema

在列中按字母存储内容有什么好处吗?也许让查找更快?如果是,那么当我向表中添加新的查找值时,我是否需要重建PK以使查找值适合新文本?说一个这样的表:

City_tbl
city_id:例如:1120
City_name:示例:纽约。

如果我需要将芝加哥添加到它,我是否将它添加到列表底部,下一个ID可能是2000或者我按字母顺序将其插入城市后这意味着我需要更新PK所有后续ID的ID由1开始。

我所知道的唯一好处是,当我必须手动添加查找值而不查询数据库时,我可以快速检查查找值列表以便轻松退出项目。但不确定它是否可以使查询更快或者如果系统知道文本是按字母顺序排列的话。

1 个答案:

答案 0 :(得分:1)

不,我认为没有价值。最好使用正确的主键并为列添加索引。花费数年时间编写关系数据库的人知道如何更好地优化访问。

我将PK列自动递增,将更新留给数据库。我会在城市名称列中添加一个索引,以便您可以尽快按名称进行搜索。

您假设您对数据库的物理存储有所了解。充其量,你的努力将无效;在最坏的情况下,你会搞砸正确索引的b树已经给你的快速访问。