Oracle 有限长度数据类型的利润
如果事先知道数据长度限制,那么在声明表时限制数据类型是否有好处Oracle 有限长度数据类型的利润,oracle,ddl,Oracle,Ddl,如果事先知道数据长度限制,那么在声明表时限制数据类型是否有好处 create table "user"."table" ( ... "is_there_any_profit" number (1, 0) ) vs 从技术上讲,所有数字的存储方式都是相同的(尾数+指数)。利润在于业务逻辑规则的实现。若您希望将整数存储到数据库中,最好通过设置正确的数据类型(例如数字(10,0))来实现这一点。您声明其他值无效。从技术上讲,所有数字的存储方式都相同(尾数+指数)。利润在于业务逻辑规则
create table "user"."table" (
...
"is_there_any_profit" number (1, 0)
)
vs
从技术上讲,所有数字的存储方式都是相同的(尾数+指数)。利润在于业务逻辑规则的实现。若您希望将整数存储到数据库中,最好通过设置正确的数据类型(例如数字(10,0))来实现这一点。您声明其他值无效。从技术上讲,所有数字的存储方式都相同(尾数+指数)。利润在于业务逻辑规则的实现。若您希望将整数存储到数据库中,最好通过设置正确的数据类型(例如数字(10,0))来实现这一点。您声明,其他值无效。任何数据类型都是如此。对于varchar,您最好确保在这些字段的(前端)代码中最多可以处理4000个字符或字节(取决于数据库的设置)。@colin。不太适合VARCHAR2。你需要小心,因为这不仅仅是客户的事情。如果你盲目地为每个领域分配4000美元,那就真的有问题了。有一件事确实给了CBO一段艰难的时间,而且很快就会在任何决定在每个字段上都使用varchar2(4000)的数据模型上遇到复合索引问题(超过了键长度)。这是好的观点。我还记得有一篇文章说,某个应用服务器的性能非常差,因为它分配了大量实际上并不需要的内存。任何数据类型都是如此。对于varchar,您最好确保在这些字段的(前端)代码中最多可以处理4000个字符或字节(取决于数据库的设置)。@colin。不太适合VARCHAR2。你需要小心,因为这不仅仅是客户的事情。如果你盲目地为每个领域分配4000美元,那就真的有问题了。有一件事确实给了CBO一段艰难的时间,而且很快就会在任何决定在每个字段上都使用varchar2(4000)的数据模型上遇到复合索引问题(超过了键长度)。这是好的观点。我还记得有一篇文章说,某个应用服务器的性能非常差,因为它分配了大量的内存,而实际上并不需要这些内存。
create table "user"."table" (
...
"is_there_any_profit" number
)