如何将字母代码转换为数字?

时间:2014-01-14 10:43:50

标签: java sql database postgresql

我想将3个字母代码保存到SQL数据库,并希望稍后使用它们对该代码执行许多查询(这些代码可能有3-4种组合来识别一些记录列表)。

我认为如果我使用字符串表示可能会很慢,因为我将有> 100.000条目。

我现在正在考虑是否可以用一个唯一的数字代表这3个字母代码(英文字母),只是查询这个数字?

因此我可以将每个字符转换为ascii并映射A=01Z=26(如果我从ascii值中减去64)。 因此AAA=010101ZZZ=262626

这有意义吗?我可以做得更好吗?

2 个答案:

答案 0 :(得分:3)

数据库将使用为流程设计的索引来哈希并快速比较String值。

首先以干净的方式实施它,如果它太慢,只会开始担心。数据库将使用经过全面优化和测试的例程来加速这一过程。

答案 1 :(得分:3)

使用3个字母的代码为字段添加索引:

CREATE INDEX index_name ON table_name ( column_name_3_letter_code ) ;

有关数据库索引的信息,请参阅 How does database indexing work?