Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么在Oracle中使用数字(p,s)而不是数字?_Oracle_Oracle11g - Fatal编程技术网

为什么在Oracle中使用数字(p,s)而不是数字?

为什么在Oracle中使用数字(p,s)而不是数字?,oracle,oracle11g,Oracle,Oracle11g,我理解数字(p,s)的重要性以及它与数字的区别,但是如果您知道您的列将存储小数(假设您知道最大值,但业务需求总是变化),为什么要限制自己使用指定的p和s?如果数字是动态的,并且将存储小数点,为什么不使用它呢?通过指定P和S是否有性能增益?我特别要求购买11g Oracle DB?货币?也许数字(N,2)适合N的值。同样,这与字符串有什么不同?您是否使用VARCHAR2(4000)为所有字符串创建数据库?NUMBER(p,s)=NUMBER+constraint我意识到这是一个约束,但是假设我不在

我理解数字(p,s)的重要性以及它与数字的区别,但是如果您知道您的列将存储小数(假设您知道最大值,但业务需求总是变化),为什么要限制自己使用指定的p和s?如果数字是动态的,并且将存储小数点,为什么不使用它呢?通过指定P和S是否有性能增益?我特别要求购买11g Oracle DB?

货币?也许数字(N,2)适合N的值。同样,这与字符串有什么不同?您是否使用VARCHAR2(4000)为所有字符串创建数据库?
NUMBER(p,s)
=
NUMBER
+constraint我意识到这是一个约束,但是假设我不在乎数字是否有小数,我对位数没有严格要求。简单地说,从性能的角度来看,如果我使用一个约束而不是一个数字,它是否有利于索引或内存优化。在存储数字时,并没有提到精度或比例,所以我怀疑使用数字比数字(p,s)有任何索引或内存优势。也就是说,优化器可能会很好地利用数字(p,s)。@halfsharkalligatorhalfman-约束总是对性能产生负面影响<代码>编号类型更快。