最近评论
正在载入评论列表...
![]() |
保持数据库Schema稳定
Stable Database Schema
在应用程序中使用数据定义语言(data definition language ,DDL)建立、修改或删除数据库对象,是很差的方式,在多数情况下应禁止。除了分区(第5章讨论)和 DBMS 已知的临时表之外,根本没有必要动态建立、修改或删除数据库对象。(第10章还会讨论此规则的另一个重大例外。)
DDL 的作用是以核心数据库的数据字典为基础的,数据字典是所有数据库操作的中心,所以任何对数据字典的操作都会引起全局加锁,对系统性能影响巨大。唯一可接受的 DDL 操作是对表的 truncate(清空)操作,它能极快地清空表的所有数据(记住,truncate table不可通过回滚恢复!)。
总结:不应在程序中进行数据库对象的建立、修改及删除等操作,虽然设计应用时要考虑这些问题。