※ 引述《returnbool (lasa)》之铭言:
: 各位前辈,目前同仁们在讨论一个问题,主要是关于数据库设计方面,
: 根据Oracle的说明 NVARCHAR2 为长度可变动的字段格式,
: 有个问题是,假设设计身分证的字段,
: 当我把字段设定成ID_NUM NVARCHAR2(10) 与 ID_NUM NVARCHAR2(4000)
: 就前提来看,只要我都只存10个字符,那个所占用的空间"应该"是一样的,
: 如果说站在这个角度上,我将所有的字段都设定成 NVARCHAR2(4000),
: 那么有没有非常显在的缺点 ?
: 目前是想像的到的
: 1. 无法从DB Schema看出长度限制
: 2. table fragmentation
: 3. 效能问题
: 还有其他潜在的问题吗 ? 若是都把字段设成NVARCHAR2(4000)的话呢 ?
问题主要不在DB 哪一边, 问题主要在CLIENT 这一边, 和网络这一边.
你就是用伟大的ORM 来写CLIENT, 但你从你的TABLE SCHEMA
, 将无法准确得知一笔资料最多占多少资源. 从而无法好好的
了解你的程式的限制. 再来, 网络哪一段, 也有同样的问题.
你将答不出任何频宽的需求.
当然, 也会像有人说的, 以上都是小问题. 毕境占多少资源问题, OMM 就加大MEMORY
加大了变慢, 就加CPU, 当掉就就要USER 重开囉.
而频宽问题, 不够就加大囉, 100MB, 不够就1GB, 交换机,ROUTER 全都换,
也没多少钱.
程式怎么规画, 怎么写, USER 买不买单就好.