将概念从 SQL 服务器转换为 DB2
Translating concepts from SQL Server to DB2
我希望引起在 SQL Server 和 DB2 方面都有经验的人的注意。我想我会问问是否有人可以从他们的头顶上对这些发表评论。以下是 SQL 服务器的功能列表,我也想对 DB2 进行处理。
配置选项“针对临时工作负载进行优化”,将首次查询计划保存为存根,以避免重型单项的内存压力时间查询(对于大量参数化查询特别有用)。什么(如果有的话)与 DB2 等效?
类似地,SQL 服务器配置选项 自动创建统计数据 、 自动更新统计数据 和 异步自动更新统计数据 。哪些是创建和维护正确统计信息的基础,而不会在工作时间内造成过多开销?
索引。当碎片在 5 - 35% 之间时,MSSQL 的索引维护标准是 REORGANIZE,当碎片超过 35% 时是 REBUILD(技术上等同于 DROP & RECREATE)。同样重要的是,MSSQL 支持 ONLINE 索引重建,使相关数据可通过读/写操作访问。与 DB2 有什么相似之处吗?
统计。在 SQL 服务器中,标准统计更新程序在较大的数据库中几乎毫无用处,因为样本比率太低了。在 DB2 中是否有等同于 UPDATE STATISTICS X WITH FULLSCAN 或类似功能的考虑因素?
在 MSSQL 中,REBUILD 索引操作还完全重新创建底层统计信息,这对于维护操作来说很重要,以避免重叠统计信息维护。在较大的数据库中更新统计信息的最佳方法还涉及在每个统计信息的基础上将它们作为目标,因为完整的 table 统计信息维护可能非常繁重,例如 table 实际上需要更新。这与 DB2 有什么关系?
显示执行计划 是分析SQL 服务器的特定查询和潜在索引/统计问题的宝贵工具。与 DB2 一起使用的最佳类似方法是什么(解释工具?或其他)?
寻找瓶颈: SQL服务器有系统视图如sys.dm_exec_query_stats和 sys.dm_exec_sql_text,这使得查看需要调整的最多 运行 和最资源密集型(例如逻辑读取数)的查询变得非常容易, 或适当的索引。 DB2 中是否有等效查询可用于以清晰易懂的方式立即识别问题?
所有这些问题代表了 SQL 服务器数据库中许多问题的很大一部分。我想采用这种专业知识,并将其转化为 DB2。
我假设这是关于 Linux、Unix 和 Windows 的 DB2。
Configuration option "optimize for ad hoc workloads", which saves first-time query plans as stubs, to avoid memory pressure from heavy-duty one-time queries (especially helpful with an extreme number of parameterized queries). What - if any - is the equivalent for this with DB2?
没有对应的; DB2 将从包缓存中逐出最近最少使用的计划。可以为包缓存启用自动内存管理,DB2 将在其中按需增大和缩小它(当然要考虑其他内存使用者)。
what would be the equivalents for SQL Server configuration options auto create statistics, auto update statistics and auto update statistics async.
数据库配置参数auto_runstats
and auto_stmt_stats
MSSQL standard for index maintenance is REORGANIZE when fragmentation is between 5 - 35%, REBUILD (technically identical to DROP & RECREATE) when over 35%. As importantly, MSSQL supports ONLINE index rebuilds
您可以选择自动 table 重组(包括索引);未记录触发阈值。此外,您还有一个 REORGCHK
实用程序,可以计算和打印大量统计数据,使您可以决定 tables/indexes 您想要手动重新组织的内容。 table 和索引重组都可以在只读或完全访问权限下在线执行。
Is there an equivalent to UPDATE STATISTICS X WITH FULLSCAN in DB2, or a similarly functioning consideration? ... The best method for statistics updates in larger DB's also involves targeting them on a per-statistic basis, since full table statistics maintenance can be extremely heavy when for example only a few of the dozens of statistics on a table actually need to be updated.
您可以配置自动统计信息收集是否使用采样(配置参数auto_sampling
)。使用 RUNSTATS
实用程序手动更新统计信息时,您可以完全控制样本大小和要收集的统计信息。
Show execution plan is an invaluable tool for analyzing specific queries and potential index / statistic issues with SQL Server. What would be the best similar method to use with DB2
您有 GUI(数据工作室、数据服务器管理器)和命令行(db2expln
、db2exfmt
)工具来生成查询计划,包括包缓存中语句的计划或当前正在执行。
Finding the bottlenecks: SQL Server has system views such as sys.dm_exec_query_stats and sys.dm_exec_sql_text, which make it extremely easy to see the most run, and most resource-intensive (number of logical reads, for instance) queries that need tuning
有一套广泛的监控程序、视图和 table 功能,例如MONREPORT.DBSUMMARY()
、TOP_DYNAMIC_SQL
、SNAP_GET_DYN_SQL
、MON_CURRENT_SQL
、MON_CONNECTION_SUMMARY
等
我希望引起在 SQL Server 和 DB2 方面都有经验的人的注意。我想我会问问是否有人可以从他们的头顶上对这些发表评论。以下是 SQL 服务器的功能列表,我也想对 DB2 进行处理。
配置选项“针对临时工作负载进行优化”,将首次查询计划保存为存根,以避免重型单项的内存压力时间查询(对于大量参数化查询特别有用)。什么(如果有的话)与 DB2 等效?
类似地,SQL 服务器配置选项 自动创建统计数据 、 自动更新统计数据 和 异步自动更新统计数据 。哪些是创建和维护正确统计信息的基础,而不会在工作时间内造成过多开销?
索引。当碎片在 5 - 35% 之间时,MSSQL 的索引维护标准是 REORGANIZE,当碎片超过 35% 时是 REBUILD(技术上等同于 DROP & RECREATE)。同样重要的是,MSSQL 支持 ONLINE 索引重建,使相关数据可通过读/写操作访问。与 DB2 有什么相似之处吗?
统计。在 SQL 服务器中,标准统计更新程序在较大的数据库中几乎毫无用处,因为样本比率太低了。在 DB2 中是否有等同于 UPDATE STATISTICS X WITH FULLSCAN 或类似功能的考虑因素?
在 MSSQL 中,REBUILD 索引操作还完全重新创建底层统计信息,这对于维护操作来说很重要,以避免重叠统计信息维护。在较大的数据库中更新统计信息的最佳方法还涉及在每个统计信息的基础上将它们作为目标,因为完整的 table 统计信息维护可能非常繁重,例如 table 实际上需要更新。这与 DB2 有什么关系?
显示执行计划 是分析SQL 服务器的特定查询和潜在索引/统计问题的宝贵工具。与 DB2 一起使用的最佳类似方法是什么(解释工具?或其他)?
寻找瓶颈: SQL服务器有系统视图如sys.dm_exec_query_stats和 sys.dm_exec_sql_text,这使得查看需要调整的最多 运行 和最资源密集型(例如逻辑读取数)的查询变得非常容易, 或适当的索引。 DB2 中是否有等效查询可用于以清晰易懂的方式立即识别问题?
所有这些问题代表了 SQL 服务器数据库中许多问题的很大一部分。我想采用这种专业知识,并将其转化为 DB2。
我假设这是关于 Linux、Unix 和 Windows 的 DB2。
Configuration option "optimize for ad hoc workloads", which saves first-time query plans as stubs, to avoid memory pressure from heavy-duty one-time queries (especially helpful with an extreme number of parameterized queries). What - if any - is the equivalent for this with DB2?
没有对应的; DB2 将从包缓存中逐出最近最少使用的计划。可以为包缓存启用自动内存管理,DB2 将在其中按需增大和缩小它(当然要考虑其他内存使用者)。
what would be the equivalents for SQL Server configuration options auto create statistics, auto update statistics and auto update statistics async.
数据库配置参数auto_runstats
and auto_stmt_stats
MSSQL standard for index maintenance is REORGANIZE when fragmentation is between 5 - 35%, REBUILD (technically identical to DROP & RECREATE) when over 35%. As importantly, MSSQL supports ONLINE index rebuilds
您可以选择自动 table 重组(包括索引);未记录触发阈值。此外,您还有一个 REORGCHK
实用程序,可以计算和打印大量统计数据,使您可以决定 tables/indexes 您想要手动重新组织的内容。 table 和索引重组都可以在只读或完全访问权限下在线执行。
Is there an equivalent to UPDATE STATISTICS X WITH FULLSCAN in DB2, or a similarly functioning consideration? ... The best method for statistics updates in larger DB's also involves targeting them on a per-statistic basis, since full table statistics maintenance can be extremely heavy when for example only a few of the dozens of statistics on a table actually need to be updated.
您可以配置自动统计信息收集是否使用采样(配置参数auto_sampling
)。使用 RUNSTATS
实用程序手动更新统计信息时,您可以完全控制样本大小和要收集的统计信息。
Show execution plan is an invaluable tool for analyzing specific queries and potential index / statistic issues with SQL Server. What would be the best similar method to use with DB2
您有 GUI(数据工作室、数据服务器管理器)和命令行(db2expln
、db2exfmt
)工具来生成查询计划,包括包缓存中语句的计划或当前正在执行。
Finding the bottlenecks: SQL Server has system views such as sys.dm_exec_query_stats and sys.dm_exec_sql_text, which make it extremely easy to see the most run, and most resource-intensive (number of logical reads, for instance) queries that need tuning
有一套广泛的监控程序、视图和 table 功能,例如MONREPORT.DBSUMMARY()
、TOP_DYNAMIC_SQL
、SNAP_GET_DYN_SQL
、MON_CURRENT_SQL
、MON_CONNECTION_SUMMARY
等