我想将3个字母代码保存到SQL数据库,并希望稍后使用它们对该代码执行许多查询(这些代码可能有3-4种组合来识别一些记录列表)。
我认为如果我使用字符串表示可能会很慢,因为我将有> 100.000条目。
我现在正在考虑是否可以用一个唯一的数字代表这3个字母代码(英文字母),只是查询这个数字?
因此我可以将每个字符转换为ascii并映射A=01
,Z=26
(如果我从ascii值中减去64)。
因此AAA=010101
,ZZZ=262626
。
这有意义吗?我可以做得更好吗?
答案 0 :(得分:3)
数据库将使用为流程设计的索引来哈希并快速比较String值。
首先以干净的方式实施它,如果它太慢,只会开始担心。数据库将使用经过全面优化和测试的例程来加速这一过程。
答案 1 :(得分:3)
使用3个字母的代码为字段添加索引:
CREATE INDEX index_name ON table_name ( column_name_3_letter_code ) ;
有关数据库索引的信息,请参阅 How does database indexing work? 。