数据库操作:DDL与DML的性能对比

需积分: 5 0 下载量 22 浏览量 更新于2024-06-16 收藏 2.53MB PPT 举报
“五件关于性能的事情” 在数据库管理和优化领域,性能是至关重要的。"Five Things Performance" 主题主要关注了如何有效地处理数据操作以及理解 DDL(Data Definition Language)和 DML(Data Manipulation Language)对性能的影响。以下是对这个主题的详细解读: 1. **DML (Data Manipulation Language)**:DML 是 SQL 的一部分,用于插入、更新、删除数据库中的数据。在描述中提到,DML 对于修改少量行(即使不是总行数的小百分比)特别有效,尤其是在在线事务处理(OLTP)系统中。然而,当需要更新大量数据时,DML 可能会导致全表扫描,例如在示例中更新一个百万行表的1%数据,即使这1%的数据分散在整个表中,DML 会读取并修改每个块,这可能极大地影响性能。 2. **DDL (Data Definition Language)**:与 DML 相反,DDL 用于创建、修改或删除数据库结构,如表、索引和视图。在示例中,创建了一个名为 'T' 的表,并使用 DDL 的 `INSERT APPEND` 语句快速地填充了100万行数据。这种方式通常比逐行插入更高效,因为它减少了事务处理和磁盘 I/O。 3. **批量操作与性能**:在填充数据后,通过查询计算每个块的行数,结果显示大部分块包含约990行数据,这表明数据分布均匀。这种情况下,使用 DDL 进行大规模数据插入往往比使用 DML 更快,因为它避免了多次的磁盘访问和事务提交。 4. **统计信息收集**:最后,执行 `DBMS_STATS.GATHER_TABLE_STATS` 存储过程来收集表 'T' 的统计信息。这是数据库优化器为了做出更好的执行计划而需要的关键信息。定期更新这些统计信息可以确保数据库能够准确地估算查询成本,从而提高查询性能。 5. **性能优化策略**:在设计和优化数据库时,考虑 DML 和 DDL 操作的适当平衡至关重要。对于大量数据的操作,可能需要考虑使用批量加载(如 `INSERT APPEND`)或物化视图等技术。同时,了解数据分布和存储结构,以及适时更新统计信息,都是提升性能的关键。 总结来说,"Five Things Performance" 强调了在数据库管理中理解 DML 和 DDL 的不同影响,以及如何利用它们来优化性能。在实际操作中,应根据具体场景选择合适的数据操作方式,并结合统计信息进行有效的性能调优。
2010-08-27 上传
SmatDraw是世界上最流行的商业绘图软件。2006 年获美国政府司法部 (U.S. Department of Justice) 专用软件,2007获美国政府商务部 (US Department of Commence)选用。Smartdraw 多年来获得不少权威杂志,报纸,网站极力推荐及多次获奖,包括美国华盛顿时报 (The Washington Times),英国金融时报 (The Financial Times)等。选用SmartDraw使每个人都能很轻松的绘制具有专业水准的商业图。   SmartDraw 是采用完全不同方法的绘图软件,这样就可以快速绘图。SmartDraw侧重于你插图的最终结果,而不是绘制的过程。   用SmartDraw,你不需从空屏幕开始。因为你可以从成百上千的不同模板中选择你所需要的,然后用简单的命令来添加你的信息,接着SmartDraw会帮你完成剩下的事。   SmartDraw 是一款绝对不用多说的、专业的图、表设计、制作、管理、转换软件。可以用它轻松设计、制作、管理、转换各种图表,剪辑画,实验公式,流程图等等。随带的图库里包含数万个示例、数万个符号和形状供你直接套用(当然,你还可以去该公司的网站下载更多的符号和外形。总量达数百兆之巨,充分满足你制作各类图表的需要。)。其独特之连结器具有随机移动功能,不易断线。内含多种模型,可直接套用或修改。 由于受上传20M的限制,本软件分三分部压缩,这是第三部分。