将概念从SQL Server转换为DB2

时间:2015-08-19 13:25:10

标签: sql sql-server db2

我希望能吸引那些有SQL Server和DB2经验的人。我以为我会问,看看是否有人可以从头顶发表评论。以下是SQL Server的功能列表,我也想与DB2一起使用。

  1. 配置选项" 针对临时工作负载进行优化",将首次查询计划保存为存根,以避免一次性重载造成的内存压力查询(特别适用于极端数量的参数化查询)。什么 - 如果有的话 - 与DB2相同?

    在类似的说明中,SQL Server配置选项的等效项自动创建统计信息自动更新统计信息自动更新统计信息异步。哪些都是创建和维护正确统计数据的基础,而不会在工作时间造成太多开销?

  2. 索引即可。当碎片在5 - 35%之间,REBUILD(技术上与DROP& RECREATE相同)超过35%时,用于索引维护的MSSQL标准是REORGANIZE。同样重要的是,MSSQL支持ONLINE索引重建,通过读/写操作保持相关数据的可访问性。与DB2类似的东西?

  3. 统计即可。在SQL Server中,标准统计更新过程在较大的DB中几乎无用,因为样本比率太低。是否有与DB2中的UPDATE STATISTICS X WITH FULLSCAN或类似功能的考虑等效?

    在MSSQL中,REBUILD索引操作也完全重新创建基础统计信息,这对于维护操作非常重要,以避免重叠的统计信息维护。在较大的数据库中进行统计更新的最佳方法还包括以统计为基础对其进行定位,因为例如表中的几十个统计数据中只有少数实际需要时,全表统计维护可能非常繁重。得到更新。这与DB2有什么关系?

  4. 显示执行计划是用于分析SQL Server的特定查询和潜在索引/统计问题的宝贵工具。什么是与DB2一起使用的最佳类似方法(解释工具?或其他东西)?

  5. 查找瓶颈:SQL Server具有系统视图,例如 sys.dm_exec_query_stats sys.dm_exec_sql_text ,这使得它非常很容易看到需要调整或正确索引的大多数运行和大多数资源密集型(例如逻辑读取的数量)查询。在DB2中是否存在等效查询,您可以使用它以一种清晰易懂的方式即时识别问题?

  6. 所有这些问题代表了SQL Server数据库中许多问题的很大一部分。我想学习这些技术诀窍,并将其翻译成DB2。

1 个答案:

答案 0 :(得分:3)

我假设这是关于DB2 for Linux,Unix和Windows的。

  

配置选项“针对临时工作负载进行优化”,将首次查询计划保存为存根,以避免重负荷一次性查询造成的内存压力(特别是对极端数量的参数化查询有帮助)。什么 - 如果有的话 - 与DB2相同?

没有等价物; DB2将从包缓存中删除最近最少使用的计划。可以为包缓存启用自动内存管理,其中DB2将根据需要增长和缩小(当然,考虑到其他内存使用者)。

  

SQL Server配置选项的等价物是自动创建统计信息,自动更新统计信息和自动更新统计信息异步。

数据库配置参数auto_runstats and auto_stmt_stats

  

当碎片在5 - 35%之间,REBUILD(技术上与DROP& RECREATE相同)超过35%时,索引维护的MSSQL标准是REORGANIZE。同样重要的是,MSSQL支持ONLINE索引重建

您可以选择自动表重组(包括索引);触发阈值未记录。此外,您还有一个REORGCHK实用程序,可以计算并打印许多统计信息,以便您决定手动重组哪些表/索引。表和索引重组都可以在线执行,只读或完全访问。

  

DB2中是否有与UPDATE STATISTICS X WITH FULLSCAN相同的功能或类似功能的考虑因素? ...大型数据库中统计信息更新的最佳方法还包括基于每个统计信息对其进行定位,因为例如,只有表中的几十个统计信息中的一些实际需要时,全表统计信息维护可能非常繁重。更新。

您可以配置自动统计信息收集以使用或不使用(配置参数auto_sampling)。使用RUNSTATS实用程序手动更新统计信息时,您可以完全控制样本大小以及要收集的统计信息。

  

显示执行计划是一种非常有用的工具,用于分析SQL Server的特定查询和潜在的索引/统计问题。什么是与DB2一起使用的最佳类似方法

您有GUI(Data Studio,数据服务器管理器)和命令行(db2explndb2exfmt)工具来生成查询计划,包括计划包缓存中的语句或者是目前正在执行。

  

找到瓶颈:SQL Server具有系统视图,例如sys.dm_exec_query_stats和sys.dm_exec_sql_text,这使得查看需要运行最多,资源最密集(例如逻辑读取次数)的查询非常容易调谐

有一套广泛的监控程序,视图和表格功能,例如: MONREPORT.DBSUMMARY()TOP_DYNAMIC_SQLSNAP_GET_DYN_SQLMON_CURRENT_SQLMON_CONNECTION_SUMMARY等。