oltp:
1按常访问的列(主键等),顺序排列,把允许null的字段放后面
2一个维度一个表,数据值最好是1:1或1:n的关系
3注释的习惯,和索引列表
4表数据和索引数据放不同的表空间,大对象类型可以放单独表空间
5powerdesigner工具使用
6主键如果使用序列导致热块,可以使用反键索引(反向键索引也有它局限性:如果在WHERE语句中,需要对索引列的值进行范围性的搜索,如BETWEEN、等,其反向键索引无法使用,此时,Oracle将执行全表扫描;只有对反向键索引列进行 <>和 = 的比较操作时,其反向键索引才会得到使用)
7要么不建外键,外键必须要索引,不然会有tx锁
8合理的字符长度,避免行迁移。例如
的从存储方式上,nvarchar是按字符存储的,而varchar是按字节存储的;
► 从存储量上考虑,varchar比较节省空间,因为存储大小为字节的实际长度,而 nvarchar是双字节存储;
► 在使用上,如果存储内容都是英文字符而没有汉字等其他语言符号,建议使用varchar;含有汉字的使用nvarchar,因为nvarchar是使用Unicode编码,即统一的字符编码标准,会减少乱码的出现几率;
►如果你做的项目可能涉及不同语言之间的转换,建议用nvarchar。
9超过100条记录的表都设置主键(一般是与业务无关的自增长字段)
10字段命名和字符类型参考
11非空字段加not null
12符合第三范式,除了主键其它字段不要出现在其它表中,即使需要,这样的字段也不要超过3个表
13对业务繁忙的大表最好分热区和冷区,做切割,冷区表加上归档时间等
,而 varchar是按字节存储的;9超过100条记录的表都设置主键
► 从存储量上考虑, varchar比较节省空间,因为存储大小为字节的实际长度,而 nvarchar是双字节存储;
► 在使用上,如果存储内容都是英文字符而没有汉字等其他语言符号,建议使用varchar;含有汉字的使用nvarchar,因为nvarchar是使用Unicode编码,即统一的字符编码标准,会减少乱码的出现几率;
►如果你做的项目可能涉及不同语言之间的转换,建议用nvarchar。