设计基于表达式的分布方案的第一个步骤是:确定表中数据的分布情况,尤其是要对其使用分段存储表达式的列中的值的分布情况。
要获得此信息,可对表运行 UPDATE STATISTICS 语句,然后使用 dbschema 实用程序来检查分布情况。
知道了数据分发之后,您就可以设计一个分段存储规则以根据分段存储目标的要求在分段之间分布数据。如果主要目标是提高性能,那么分段表达式应该在分段之间对行进行均匀分布。
如果分段存储的主要目标是提高并发性,那么应该分析访问该表的查询。 如果对某些行访问的比例高于其他行,您可以通过选择对创建的分段使用不均匀数据分发来进行补偿。
尽量不要在分布表达式中使用那些经常更新的列。 此类更新可能导致行从一个分段移至其他分段(也就是说,从一个分段中删除,又添加到另一个分段),并且该活动增加了 CPU 和 I/O 开销。
要实现最佳分段消除特征,应尝试不使用 REMAINDER 分段来创建基于单个列的非重叠区域。只要查询优化器可以根据基于表达式的分段存储规则(通过规则可将行分配到分段)确定 WHERE 子句选择的值没有驻留在这些分段上,那么数据库服务器将从查询计划中消除这些分段。有关更多信息,请参阅消除分段的分布方案。