什么是 Paw Index Advisor?

Paw Index Advisor是面向数据库应用开发人员、DBA和运维人员的基于代价的自动化索引推荐工具。

现代信息系统的数据基本上都存储在各种各样的数据库中,而其中90%的数据库是关系型数据库,应用系统80%以上的性能问题都可以通过SQL优化去解决。SQL的优化主要包括DDL优化、DML语句重写优化、索引推荐等,索引优化是对应用侵入性最小、最容易实施、成果最显著的方式,索引优化能够解决80%的SQL优化问题。

SQL优化问题产生的典型场景如下:

场景1. 在数据应用开发阶段,数据应用开发人员素质参差不齐,对数据库和查询优化原理和实践了解不足,导致不建索引或是建一些无效索引,导致数据应用上线后由于性能问题无法提供正常服务。

场景2.数据库持续运行阶段,由于数据量的持续变化,查询服务不断增加,索引数量急剧膨胀,数据库的负载越来愈大,原来能够正常提供服务的应用也响应时间越来越长,需要持续进行优化。

功能概览

  • 支持离线或是联机获取数据库对象信息;

  • 支持联机或是离线获取待分析的SQL查询语句;

  • 支持从mybatis的mapper文件里解析SQL查询语句,并进行索引推荐;

  • 支持MySQL, PostgreSQL及PostgreSQL衍生产品,譬如Opengauss等;

  • 支持matching, screening, sort-avoiding,covering索引推荐;

  • 基于代价的推荐策略,对一个批次的多个SQL推荐索引进行合并,与现有索引进行排重;

  • 对查询SQL进行重写后,再进行索引推荐,支持sattc、视图重写、ordinal排序和分组重写;

  • 纯客户端应用,对原有系统和数据库零侵入;

  • 支持what-if验证,确保推荐的索引都可以被用来提升查询性能;

  • 和Eclipse/IDEA等IDE无缝集成,一键优化。

产品对比

我们把Paw IndexAdvisor和市场上的优秀产品进行了对比,显示Paw IndexAdvisor在索引推荐上属于引领者象限。

使用手册

你估计想不到使用这么简单:

最后更新于