存储为数字而不是文本的数据库性能改进是什么?

del*_*ber 4 sql database performance

假设我有"Win","Lose","Incomplete","Forfeit"等文本.我可以直接将文本存储在数据库中.相反,如果使用诸如0 = Win,1 = Lose等数字,我会在数据库性能方面获得实质性改进吗?特别是在字段是我的WHERE子句的一部分的查询中

Bla*_*iev 5

在CPU级别,比较两个固定大小的整数只需要一条指令,而比较可变长度的字符串通常涉及循环遍历每个字符.因此,对于非常大的数据集,使用整数应该会有显着的性能提升.

此外,固定大小的整数通常占用较少的空间,并且可以允许数据库引擎基于随机搜索执行更快的算法.

但是,大多数数据库系统的enum类型都适用于像您这样的情况 - 在查询中,您可以将字段值与固定的文字集进行比较,同时将其内部存储为整数.