检查数据和查询

要确定分段存储策略,您必须收集有关可能分段的表的信息。还必须知道表中数据的使用方式。

要收集有关表的信息:

  1. 标识对于性能至关重要的查询,以确定这些查询是联机事务处理 (OLTP) 还是决策支持系统 (DSS) 查询。
  2. 使用 SET EXPLAIN 语句可确定数据的访问方式。

    有关 SET EXPLAIN 语句输出的信息,请参阅显示由优化器选择的查询计划的报告。要确定数据的访问方式,有时您只需检查 SELECT 语句和表的模式。

  3. 确定每个查询检查数据的哪一部分。

    例如,如果在大部分时间中读取表中的某些行,那么您可以在小的分段中将它们进行隔离以减少其他分段的 I/O 争用。

  4. 确定哪些语句创建临时文件。

    决策支持查询通常会创建和访问很大的临时文件,而临时数据库空间对于性能而言非常关键。

  5. 如果在一个决策支持查询中,某些特定的表总是连接在一起,那么应将这些表的分段分布在不同的磁盘上。
  6. 检查表中的列,以确定哪个分段存储方案对于决策支持查询而言,可以使每个扫描线程的繁忙程度相同。

    要了解列值如何分布,可使用 UPDATE STATISTICS 语句在列上创建分布,并使用 dbschema 检查分布。

    dbschema -d database -hd table