VARCHAR2到NUMBER之间的性能差异

gdo*_*ica 5 sql database oracle performance

如果我在多列上使用唯一索引查询我的数据库(Oracle),如果我将其中一列从VARCHAR2更改为NUMBER,是否会有任何性能差异?
如果有,是否重要

(它是varchar2,因为我在开头需要'0'但我可以在我的应用程序的表示层中更改它)

小智 4

比我更有知识的人告诉我,在 Oracle 中,number 和 varchar2 之间的性能差异完全取决于您的数据,因为它们在内部具有非常相似的表示形式。请参阅以下内容:

https://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:2669498700346402356

还要查看“内部数字格式”部分:

http://docs.oracle.com/cd/B28359_01/server.111/b28318/datatype.htm#CNCPT012

例如,如果您的 varchar 数据实际上是单个字符(例如“Y”、“N”),那么使用 varchar 可能比使用数字更好。如果您的代码少于 100 个,但等效字符串长度为 8 个字符,那么使用数字可能比使用 varchar 更好。