高效SQL代码 提升性能100倍
2013-09-02 16:11
399 查看
在PostgreSQL中修改了一行不明显的代码,把(ANY(ARRAY[...]) 改成 ANY(VALUES(...))),结果查询时间从20s变为0.2s。最初我们学习使用EXPLAN
ANALYZE来优化代码,到后来,Postgres社区也成为我们学习提升的一个好帮手,付出总会有回报,我们产品的性能也因此得到了极大的提升。
事出有因
我们所开发的产品是Datadog,它是专门为那些编写和运营大规模应用的团队、IT运营商提供监控服务的一个平台,帮助他们把海量的数据转化为切实可行的计划、操作方案。而在这周早些时候,我们的许多数据库所面临的一个性能问题是在一个较小的表上进行大量的key查询。这些查询中的99.9%都是高效灵活的。在极少数实例中,有些数量的性能指标tag查询是费时的,这些查询需要花费20s时间。这也就意味着用户需要在浏览器面前花费这么长的时间来等待图形编辑器做出响应。即使是0.1%,这样的用户体验也显然糟透了,对此,我们进行了监测,探究为何速度会这么慢。
查询与计划
结果令人震惊,罪魁祸首竟然是下面这个简单的查询:
相关文章推荐
- 性能提升100倍的秘密武器:一行SQL代码的妙用
- 修改一行SQL代码 性能提升了100倍
- 修改一行SQL代码 性能提升了100倍
- 修改一行SQL代码 性能提升了100倍
- 修改一行SQL代码 性能提升了100倍
- 修改一行SQL代码 性能提升了100倍
- 转载:修改一行SQL代码 性能提升了100倍
- 性能提升100倍的秘密武器:一行SQL代码的妙用
- 优化临时表使用,SQL语句性能提升100倍
- 转--优化临时表使用,SQL语句性能提升100倍
- 优化临时表使用,SQL语句性能提升100倍
- 优化临时表使用,SQL语句性能提升100倍
- 优化临时表使用,SQL语句性能提升100倍
- 数据库 优化临时表使用,SQL语句性能提升100倍
- 优化临时表使用 SQL语句性能提升100倍
- 优化临时表使用,SQL语句性能提升100倍
- 优化临时表使用,SQL语句性能提升100倍
- 优化临时表使用,SQL语句性能提升100倍
- 避免临时表,SQL语句性能提升100倍
- 优化临时表使用,SQL语句性能提升100倍