在某些情况下,输入表的分组列中的值会聚簇,这样,相似的值便可以靠近在一起显示。例如,如果表包含的列始终设置为当前日期,则具有一个日期的所有行在表中就会相对靠近。ClusteredHashGroupBy 利用这种聚簇。
当为明显大于可用内存的表分组时,优化程序可以使用 ClusteredHashGroupBy。特别是当 HAVING 谓语只返回一小部分行时,该方法十分有效。
如果在更新数据与执行查询同时进行的环境中选择 ClusteredHashGroupBy,则可能导致优化程序部分执行大量无用工作。因此,ClusteredHashGroupBy 最适合于偶尔进行批处理式更新和基于读取的查询的 OLAP 负载。将 optimization_workload 选项设置为 OLAP 以指示优化程序应在其调查的可能性中包括 ClusteredHashGroupBy。请参见optimization_workload 选项 [数据库]。
当创建可以在 OLAP 负载中使用的索引或外键时,请指定 FOR OLAP WORKLOAD 子句。该子句可使数据库服务器保留一条由 ClusteredHashGroupBy 所使用的、有关相同键内两行之间的最大页面距离的统计信息。请参见CREATE INDEX 语句、CREATE TABLE 语句和ALTER TABLE 语句。
有关 OLAP 负载的详细信息,请参见OLAP 支持。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |