SQL 性能问题的常见原因

提高现有系统的性能

当您的查询速度很慢时,可以尝试以下一些方法,而无需更改您的服务器或实例:

让数据库引擎做尽可能多的工作

大多数 DBMS 都非常有效地处理数据——比客户端应用程序更有效:

最小化进出数据库的数据 I/O

对于非常大的查询,压力可能来自将结果集传输到客户端。你真的需要所有的数据吗? 如果不是,请减少 DBMS 中的结果集大小:

 将复杂查询分解为更小的查询

大型查询可能很难解决。将查询分成小块并使用临时表可以使查询更易于理解。

  首选优化函数,限制通配符

供应商编写的函数通常优于链接在一起的 SQL 函数。

一些例子:

 谨慎使用视图视图是从查询创建的虚拟表。当您运行访问它们的查询时,通常会具体化视图。 

 检查您的索引策略在许多 DBMS 中,索引可以加快查询速度,让 DBMS 知道在哪里查找数据。有选择地应用索引——关注具有高基数的列或您经常使用的列。索引过多会降低写入性能(并占用大量空间): 

索引策略不仅会影响性能,还会影响数据大小。当您的数据库扩展时,这可能会成为一个真正的问题。

遵循 DBMS 的最佳实践

每个 DBMS 都不同,因此请务必为您使用的 DBMS 应用最佳实践。

但是,有些事情永远是正确的:

1.如果一个查询很慢,请检查查询优化的最佳实践

2.如果您的整个数据库很慢,请检查您的系统:

更新你的DBMS

您可以调整的只有这么多。当您不能(或不会)进一步调整时,请考虑更新您的 DBMS。

新的 SQL DBMS,例如 SQream DB:

 

即使在大部分优化良好的工作负载上,遵循最佳实践也可以将查询时间缩短 10%-30%。

联系我们



服务咨询

全天高效服务

Demo申请