Char(1) 与 Number(2) 在预言机中性能更好



表中需要有真或假列。Oracle 不允许列使用布尔/位数据类型。因此,我们可以通过两个选项 char(1( 或数字数据类型来做到这一点,并将 1 和 0 存储为数字或字符,如"1"或"0"。

在此表上进行选择时,在此列上使用 where 条件并在其上创建索引,最好使用哪种数据类型。 字符或数字。

或者没关系。请对此进行一些说明。

如果您存储为 NUMBER(1( 作为 0 和 1,您可以使用BITAND对布尔真值进行二进制运算

以及以下bitor的实施

CREATE OR REPLACE FUNCTION bitor(x NUMBER, y NUMBER) RETURN NUMBER 
DETERMINISTIC
IS
BEGIN
RETURN x - bitand(x, y) + y;
END;

最新更新