《数据库重构》阅读笔记3

沙盒部署层次:开发沙盒、集成沙盒、测试沙盒、演示沙盒、生产环境
 
五.数据库重构策略
5.2唯一地标识每一次重构
版本标识方法:构建编号(单团队开发适用),日期/时间戳(多团队开发),唯一标识
5.4建立数据库配置表,保存数据库结构的版本号
5.5触发器虽然性能上有瓶颈但绝大多数情况优于视图或批量同步
5.11不要复制SQL语句,最好将SQL放到一个包或类中,或从元数据生成SQL,或保存在XML文件中
 
六.结构重构
6.1结构重构常见问题
避免触发器循环触发
检查被破坏的触发器
SELECT Object_Name,Status
FROM User_Objects
WHERE Object_Type='TRIGGER'
AND Status='INVALID'
检查被破坏的储存过程
SELECT Object_Name,Status
FROM User_Objects
WHERE Object_Type='PROCEDURE'
AND Status='INVALID'
 
6.2删除表
若列数据量太大,删除时间比较长,可先用ALTER TABLE 的SET UNUSED选项将此列隐藏,待非峰值时间再删除
 
相关知识搜索:
主键有两类:
自然键(Natural Key):主键的值与资料本身的属性有关 .
代替键(Surrogate Key):主键的值与资料本身的属性完全没有关系.
 
Identity字段与sequence的最大不同在于:identity只能在一个表中使用,多个表不可以共享identity;而sequence可以通过命名方式在同一个数据库内部的多个表中共享序列号发生器。  
IDENTITY事实上使用触发器实现的。而sequence则使用了全局临时表
posted @ 2008-05-10 22:54  湘西小刁民  阅读(158)  评论(0编辑  收藏  举报