1、如果这个字段是字符长度是可以固定的,用char比varchar好。比如发票号码若固定长度就是10位那就用char(10);
2、如果不需要存储多国文字,就不需要用nchar/nvarchar ,还是用char/varchar;
3、能设为not null就设为not null ,尽量不要用null 。如果这一列有NULL会多一个判断的过程,对效率可能有影响。而且NULL在运算时会有些异常情况,需要经常在程序里判断NULL,麻烦且效率不高。如果这一个字段可能不是必须写的,设为not null的同时,设默认值为'';
4、象BIT型的字段,一定不要设为NULL。因为一般用这个来做"是"/"否",或者"男"/"女",如果允许null ,这个字段会出来第三种状态。试想一下除了男女,还有第三种状态是什么情况?