如何提高sql中的查询性能?

Posted

技术标签:

【中文标题】如何提高sql中的查询性能?【英文标题】:How to improve query performance in sql? 【发布时间】:2012-07-19 06:13:59 【问题描述】:

我有一个包含 2900000 条记录的表。现在我正在使用选择查询来查找数据,它需要 5 秒来获取记录。它只是选择查询,运行它需要 4-5 秒。

我不知道为什么要花这么多时间?

在表中,有 4 个字段是 varchar(Max)。有什么原因有问题吗?

谁能建议我如何减少执行时间?

【问题讨论】:

或许可以把你的 sql 和表结构贴出来,以便我们进一步研究 什么数据库系统,哪个版本? SQL 只是 Structured Query Language - 许多数据库系统使用的语言,但不是数据库产品......我们真的需要知道什么是数据库系统 你正在使用.... 请参考英文数字面额。我忘了一拉克是多少。 尝试使用索引它会提高性能.. ... 如果您在 SQLServer 上(或其他 DBMS 上的任何等价物),请发布您的查询计划。 【参考方案1】:

您很可能需要为表中添加索引,用于 WHERE 子句中使用的列。如果不知道您的表架构、数据和查询(或 rdbms 风格)的细节,任何人几乎不可能提供进一步的帮助。

我假设您使用的是 SQL Server(因为您没有指定)。如果是这样,我建议在 SQL Management Studio 中复制您的查询,但在执行之前先按 ctrl+m(这将显示实际执行计划)。现在运行查询,完成后,结果区域中会出现一个选项卡,显示建议的索引(如果有)。

如果可能,请用更具体的细节更新您的问题。

【讨论】:

以上是关于如何提高sql中的查询性能?的主要内容,如果未能解决你的问题,请参考以下文章

如何提高 SQL Server 查询的性能以选择具有值的行不在子查询中的一次计数

如何强制连接顺序以提高 MYSQL 中的查询性能?

如何提高风数据SQL查询性能

如何提高sql查询的性能

如何提高sql查询的性能?

如何提高查询性能?