提高个别查询性能
可以测试、监视和改进查询。
使用专用测试系统来测试查询
可以在不干扰生产数据库服务器的系统上测试查询。 然而,您必须当心,因为在独立的系统上测试查询可能会误导您的调整决策。
显示查询计划
在更改查询之前,请显示其查询计划以确定查询所需的资源种类和数量。查询计划显示使用哪些并行扫描、必需线程的最大数目以及使用的索引。
改进过滤器选择性
可以控制查询评估的信息量。 指定所需的目标行时的精确度越高,快速完成查询的可能性就越大。
自动统计信息更新
数据库服务器根据预定义的调度和一组到期策略来自动更新统计信息。Auto Update Statistics (AUS) 维护系统可标识需要新优化器统计信息的表和索引,并运行相应的 UPDATE STATISTICS 语句以优化查询性能。
未自动生成统计信息时更新统计信息
UPDATE STATISTICS 语句更新系统目录表中优化器使用的统计信息以确定成本最低的查询计划。
通过添加或除去索引来提高性能
通常,通过添加索引或在某些情况下删除索引,可提高查询的性能。 您还可以启用优化器来从索引缓冲区自动访存一组键。
分布式查询的优化器估计
优化器假定从远程数据库访问一行所花费的时间要比从本地数据库访问一行所花费的要长。 优化器的估计值中包括从磁盘检索该行以及通过网络传输该行的成本。
改进顺序扫描
可以消除重复的顺序扫描来提高对大表顺序读取操作的性能。
启用视图折叠以提高查询性能
通过启用视图并入,可以显著提高与视图有关的查询性能。
减少连接和排序操作
了解查询做些什么后,可寻找一些方法,以较少的代价获得相同的产出。
优化查询的用户响应时间
您可以影响
GBase 8s
优化查询并将行返回给用户所需的时间量。
优化用户定义的数据类型的查询
访问用户定义的数据类型 (UDT) 的查询可以利用内置数据类型所使用的相同性能特征。
使用 SQL 语句高速缓存优化查询
在数据库服务器运行
SQL
语句之前,必须首先对语句进行语法分析和优化。这些步骤可能会很很耗时,这取决于
SQL
语句的大小。
监视会话和线程
可以监视活动会话和线程数以及它们正在使用的资源量。 监视会话和线程对于执行查询的会话以及执行插入、更新和删除操作的会话都很重要。
监视事务
可以监视事务以跟踪打开的事务以及这些事务所持有的锁定。可以使用若干
onstat
实用程序选项来查看事务、锁定和会话统计信息。