问题标签 [query-performance]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
60 浏览

mysql - 具有限制和偏移量的 MySQL 查询运行速度非常慢

可能重复:
具有限制和大偏移量的 MySQL 查询永远占用

我的表包含 25,000 行,我使用分页来显示页面上的所有行。如果我的页面限制设置为每页 10 行,那么每页显示速度非常快。但是,如果我将页面限制大小更改为每页 250 行,则加载表(显示记录)需要 30 秒到 1 分钟。我使用的查询是这样的:

这是我首先加载页面时得到的。如果我更改页面,限制数字 0、250 会发生变化,所以如果我访问第 2 页,限制将更改为:

如果有人可以看到我的查询有问题,请告诉我。我不明白为什么在每页获取 250 行时加载表需要 1 分钟。在 mysql 表上,我尝试在各种 ID 上使用索引,但速度仍然相同。

0 投票
1 回答
422 浏览

sql-server - SQL Server:当过滤器值超出索引直方图范围时使用错误的索引

我们有一个非常大的表,每天有 1-2 百万行被添加到表中。

在此查询中:

Task和都存在索引FinishTime

我们预计task将使用该索引,因为它的行数要少得多。我们看到的问题是 SQL Server 创建了一个错误的查询执行计划,它使用FinishTime索引而不是任务,并且查询需要很长时间。

当完成时间值超出FinishTime索引直方图时会发生这种情况。

统计信息每天/几个小时更新一次,但仍有很多情况是查询最近的值。

问题:在估计的执行计划中我们可以清楚地看到,在这种情况下估计的行数FinishTime1,所以选择了FinishTime索引。为什么 SQL Server 假定这是1在没有数据的情况下?有没有办法告诉它使用更合理的东西?

当我们用更早的日期替换日期时,直方图中存在统计信息,估计的行数约为 7000

0 投票
1 回答
114 浏览

sql-server - UDF 的 SQL 服务器查询统计信息

当我运行一次存储过程并查看 sys.dm_exec_query_stats 中的查询统计信息时,我得到正确的执行计数,即 1

但是当我执行一次 UDF 时,我看到它的执行计数是 4(在 sys.dm_exec_query_stats 中有 3 行用于该 udf)

ObjName ExecutionCount AvgWorkerTime


fnGetDomesticNumber 1 3066
fnGetDomesticNumber 2 411
fnGetDomesticNumber 1 657

谁能帮我理解这一点。

谢谢

0 投票
2 回答
81 浏览

mysql - 任何人都可以在这里帮助我。如何提高查询性能

我的查询运行时间超过 30 分钟。它是一个简单的查询,即使它也包含索引。我们无法找到为什么它需要太多执行时间并且它会影响我们的整个数据库性能。昨天它跑来跑去:122.6分钟任何人都可以在这里帮助我。如何提高查询性能

请帮助我如何调整它。即使它也有索引

0 投票
2 回答
111 浏览

mysql - 执行时间过多

  1. 下面的查询需要很长时间才能执行大约 2 分钟,请帮助我如何提高此查询的性能。
  2. 所以我们的要求是在 2 到 3 秒内得到结果。
  3. 查询也使用索引。
  4. 但它正在执行更多扫描。

询问:

解释计划:

表结构:

0 投票
2 回答
104 浏览

mysql - 如何重写(或),(和)条件的查询替换

  1. 查询花费了太多时间来执行,大约 130 分钟。
  2. 具有索引但查询未使用索引的表。
  3. 表大小约为 3000 万条记录。
  4. 请帮助我通过更改(或),(和)条件来重写查询。
  5. 该查询未在正常执行中使用,因此我们尝试使用强制索引但没有运气。

询问:

解释计划:

0 投票
2 回答
148 浏览

mysql - 长时间运行的查询

1.以下查询大约需要 49 秒才能执行。2.我们的目标是需要在 1 到 2 秒内得到结果。3.查询有索引,它正在使用 4.如何避免这种长时间的执行。5.这是一个简单的查询 6.如果可能的话帮助我重写查询。

0 投票
1 回答
110 浏览

mysql - 查询执行时间过长

  1. 我的查询大约需要 2800 秒才能获得输出。
  2. 我们也有索引,但没有运气。
  3. 我的目标是需要在 2 到 3 秒内获得输出。
  4. 如果可能,请重新编写查询。

    /li>
0 投票
1 回答
215 浏览

mysql - 使用存储过程性能会提高

我需要知道使用存储过程的好处。

目前客户端具有 3 层架构。大多数表都是innodb。大多数服务器都有~64G ram,所有服务器都是linux 64bit。最近他们也为一些服务器启动了集群。

客户更准确地了解数据库级别的内容,而不是写下优点和缺点。

0 投票
1 回答
96 浏览

mysql - 使用 Order By 的 Mysql 查询太慢

我知道以前有人问过这种问题,但这些问题都没有让我找到解决方案。

这是我的查询:

最后一点解释AND

基本上,我正在尝试获取 20 张独特照片的最新评论。例如,如果一张照片有 5 条评论,我只想显示最后一条。

ORDER BY c.id凶手。只有 18 万条评论和 10 万张照片。如果我删除ORDER BY查询会立即返回,但显然不是我想要的结果。

以下是索引:

有任何想法吗?谢谢!