用于存储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适用于其幅度范围内的所有计算。
您是否同意这是最好的数据类型,或者是否有我不考虑的内容?谢谢!
答案 0 :(得分:1)
PLS_INTEGER(现在与BINARY_INTEGER相同)将产生最快的性能(因此将购买新的服务器:))
真的要看到性能提升,你需要像疯了一样循环。
这就是全部:http://www.oracle-base.com/articles/misc/performance-of-numeric-data-types-in-plsql.php