2011年4月8日晨读
1
作者原文:
------------------------------------------------------------
在这里我想强调一点的是,很多时候DBA在遇到数据库系统自身调用内部SQL时,常常下意识的选择回避,认为数据库的自身功能不会存在太大的问题,而事实往往相反。我的一个座右铭是,绝不放过任何一句可疑的SQL代码。
------------------------------------------------------------
海翔语:
1)事实确实如作者所言
2)道理:
数据库的SQL,是语法层面的内容。
数据库引擎,通常是一个通用的功能集合体,主要包括:SQL语法解析、SQL语义检查、执行计划生成、执行计划优化、执行计划。
不管是用户发出的SQL,还是数据库自身向自己发出的SQL,都要经过通用的数据库引擎,环境相同。所以,SQL语句耗费资源的可能性是一样存在的。故不能迷信数据库自身发出的SQL语句就一定性能好。
2
作者原文:
------------------------------------------------------------
如果此处AUD$表的数据量较大,就可能产生非常大的逻辑读,影响性能,恰恰AUD$表经常会存在大量的数据,这就是原因所在。在新版本中,Oracle正在尝试通过对该表进行分区,提升数据清理效率,并通过适当的索引提升访问性能。
------------------------------------------------------------
海翔语:
1)本条说得在理。
2)对数据库设计,本条有意义。
任何数据库的系统表,如果可能存储大量的数据,势必需要考虑该表被访问时可能存在的性能问题,所以,分区、索引等手段在设计时,需要一并考虑。
国产数据库的设计,是否能够考虑的很细致?
1
作者原文:
------------------------------------------------------------
在这里我想强调一点的是,很多时候DBA在遇到数据库系统自身调用内部SQL时,常常下意识的选择回避,认为数据库的自身功能不会存在太大的问题,而事实往往相反。我的一个座右铭是,绝不放过任何一句可疑的SQL代码。
------------------------------------------------------------
海翔语:
1)事实确实如作者所言
2)道理:
数据库的SQL,是语法层面的内容。
数据库引擎,通常是一个通用的功能集合体,主要包括:SQL语法解析、SQL语义检查、执行计划生成、执行计划优化、执行计划。
不管是用户发出的SQL,还是数据库自身向自己发出的SQL,都要经过通用的数据库引擎,环境相同。所以,SQL语句耗费资源的可能性是一样存在的。故不能迷信数据库自身发出的SQL语句就一定性能好。
2
作者原文:
------------------------------------------------------------
如果此处AUD$表的数据量较大,就可能产生非常大的逻辑读,影响性能,恰恰AUD$表经常会存在大量的数据,这就是原因所在。在新版本中,Oracle正在尝试通过对该表进行分区,提升数据清理效率,并通过适当的索引提升访问性能。
------------------------------------------------------------
海翔语:
1)本条说得在理。
2)对数据库设计,本条有意义。
任何数据库的系统表,如果可能存储大量的数据,势必需要考虑该表被访问时可能存在的性能问题,所以,分区、索引等手段在设计时,需要一并考虑。
国产数据库的设计,是否能够考虑的很细致?