第一章 SQL性能优化简介
InterSystems SQL支持几个特性来优化InterSystems IRIS®数据平台的SQL性能。
表定义优化
SQL性能从根本上取决于良好的数据架构。 将数据划分为多个表并在这些表之间建立关系对于高效的SQL是必不可少的。
描述了以下优化表定义的操作。 这些操作要求定义表,但不要求用数据填充表:
- 数据存储策略:可以选择使用
%Storage.Persistent、%Storage.SQL或自定义存储来存储数据。 - 全局变量命名策略:可以使用
USEEXTENTSET参数为数据和索引查找操作指定更短、更高效的散列全局名称。 - 索引:可以为一个表字段或一组字段定义索引。可以定义几种不同类型的索引:标准索引、位图索引、位图索引和位图范围索引。SQL优化使用定义的索引而不是数据值本身来访问查询、更新或删除操作的特定记录。
表数据优化
根据对表中典型数据的分析,可以执行以下操作来优化表访问:
- Tune Table:检查典型的表数据并生成
ExtentSize(行数)、选择性(具有特定值的行的百分比)和BlockCount元数据。查询优化器使用此信息来确定最有效的查询执行计划。 - 选择性和异常值选择性:确定某个字段具有特定值的行的百分比,以及某个值是否为异常值,该值明显比该字段的其他值更常见。
