在列中按字母顺序存储内容有什么好处吗?也许能让查找更快些?如果是,那么当我向表中添加新的查找值时,是否需要重新生成主键以使查找值适合新文本?说这样一张桌子:
城市
城市ID:示例:1120
城市名称:例如:纽约。
如果我需要将芝加哥添加到其中,我是将其添加到列表底部的下一个ID(可能是2000)中,还是将其按字母顺序插入到城市之后,这意味着我需要将以下所有ID的PK ID更新1。
只有我知道的好处是,当我必须手动添加查找值而不查询数据库时,我可以很容易地检查查找值列表,以便轻松地退出项目。但如果系统知道文本是按字母顺序排列的,则不确定这是否会加快查找速度。
最佳答案
不,我看不出有什么价值。最好使用适当的主键并向列中添加索引。那些花了多年时间编写关系数据库的人比你更懂得如何优化访问。
我将使pk列自动递增,将更新留在数据库中。我会在“城市名称”列中添加一个索引,以便您可以尽快按名称进行搜索。
您假定您了解数据库的物理存储。充其量,你的努力不会有任何效果;最坏的情况下,你会搞砸一个正确索引的b树已经给你的快速访问。
关于database - 在列中按字母顺序存储值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4572840/