1. PawSQL优化验证显示性能降低了,优化建议是否还有参考意义?
根据我们的统计,在PawSQL提供了优化建议的性能验证中,85%以上能够提升SQL的查询性能,只有15%左右显示性能有所下降。
根据统计,15%的优化性能验证显示降低的原因分布如下:
- 80%的原因是由于验证环境的数据量太小,SQL执行的时间太小导致波动被放大;
- 10%的原因是数据库优化器的缺陷导致的,即PawSQL提供了为优化器生成执行计划提供了更多的可能,但是优化器选择了效率更低的执行计划;
- 10%的原因是PawSQL对于性能提升的计算逻辑不合理,或是提供的建议不够合理导致的。
理想情况下,性能的优化验证应该在生产数据上进行。但是由于安全性的问题,SQL性能的优化通常都是在测试环境中进行的。
如果测试环境的测试数据非常少,特别是在性能验证显示性能下降的情况下,需要用户人工判断PawSQL的优化建议是否合理。
2. PawSQL Cloud的私域部署
私域部署是针对企业的收费软件,不面向个人免费提供。
3. PawSQL的收费问题
PawSQL针对个人用户提供了两个版本的工具,一是基于Jetbrains的IDE插件,这是个收费软件,主要面向的是国外用户。另一个是基于SaaS的PawSQL Cloud,这针对个人用户是免费使用的。
对于企业用户,我们提供PawSQL的私域部署方案,这是收费的。
4. PawSQL和EverSQL的比较
在功能上,两者在查询重写、索引推荐等核心功能具有很强相似性;EverSQL在用户友好性和页面交互设计上更加优秀,而PawSQL也提供了EverSQL所没有的性能验证、执行计划对比等功能。
在收费策略上,EverSQL的免费版每个月只能进行一次优化,而其企业版每个月也只能进行75次优化;而PawSQL每人每个月可以进行90次优化。PawSQL的主要商业策略是通过企业的私域部署进行收费。
二者具体的区别请参考《EverSQL向左,PawSQL向右》.
5. PawSQL插件为什么不使用DataGrip的当前连接?这样就无需在配置页面中指定了
DataGrip只是用户安装PawSQL的众多IDE中的一个,甚至不是安装PawSQL最多的一个(最多的是IDEA Ultimate)。其他插件不同于DataGrip有当前连接,为了兼容非DataGrip开发工具,PawSQL提供了一个统一的数据源配置页面。
6. PawSQL连接Oracle数据库为什么使用SID,而不是Service Name?
老版本的Oracle是没有Service Name的,在Oracle 8i版本中才引入了Service Name的概念。所以在PawSQL 2024.1.4版本之前,连接Oracle数据库需要输入SID,而从2024.1.5版本以后,PawSQL将不支持SID,而只支持Service Name了。
7. PawSQL进行优化时,出现卡住不动的原因是什么?
在2024.1的版本之前,PawSQL在进行优化的时候,预先会加载数据库中的所有对象,并解析所有的视图。对于有很多表和视图的数据库,这个过程会非常耗时,导致PawSQL卡死。在最新的版本中(2024.1.x),PawSQL只会解析查询中所用到的对象,此问题不会再出现。
关于PawSQL
PawSQL专注数据库性能优化的自动化和智能化,支持MySQL,PostgreSQL,openGauss,Oracle等,提供的SQL优化产品包括
- PawSQL Cloud,在线自动化SQL优化工具,支持SQL审查,智能查询重写、基于代价的索引推荐,适用于数据库管理员及数据应用开发人员,
- PawSQL Advisor,IntelliJ 插件, 适用于数据应用开发人员,可以IDEA/DataGrip应用市场通过名称搜索“PawSQL Advisor”安装。
- PawSQL Engine, 是PawSQL系列产品的后端优化引擎,可以以docker镜像的方式独立安装部署,并通过http/json的接口提供SQL优化服务。