PL/SQL ASCII变量的最佳数据类型



用于存储从PL/SQL ascii()函数调用返回的值的最佳数据类型是什么?实例

declare
x number; /* number, pls_integer, binary_integer, int, etc...? */
begin
    x := ascii('a');
end;
/

这将发生在许多非常低级的函数中,这些函数最终将在循环中被调用,因此需要考虑速度和存储。对于PL/SQL数字存储,我们有以下数据类型。。。

BINARY_INTEGER
BINARY_INTEGER Subtypes... NATURAL, NATURALN, POSITIVE, POSITIVEN, SIGNTYPE
NUMBER
NUMBER Subtypes... DEC, DECIMAL, DOUBLE, PRECISION, FLOAT, INTEGER, INT, NUMERIC, REAL, and SMALLINT
PLS_INTEGER

因为这句话,我倾向于使用PLS_INTEGER:

您使用PLS_INTEGER数据类型来存储有符号整数。它的震级范围为-2**31。。2**31.PLS_INTEGER值要求更少存储的NUMBER值。此外,PLS_INTEGER操作使用机器算术,因此它们比NUMBER和BINARY_INTEGER更快操作,使用库算术。为了提高效率,请使用PLS_INTEGER适用于其幅度范围内的所有计算。

你是否同意这是最好的数据类型,或者我没有考虑什么?谢谢

PLS_INTEGER(现在与BINARY_INTEGER相同(将产生最快的性能(购买新服务器也是如此:(

真的要想看到性能的提高,你需要疯狂地循环。

这说明了一切:http://www.oracle-base.com/articles/misc/performance-of-numeric-data-types-in-plsql.php

最新更新