问题标签 [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 投票
5 回答
871 浏览

sql - Mysql 查询性能——

我有以下 Mysql 查询

结果 :

问题 :

  1. 我怎么知道这个查询的执行时间?
  2. 该表MdhRawAsset包含 3750 万条数据,有没有更好的方法来编写这个查询?
0 投票
5 回答
5087 浏览

sql - 为什么这个查询在没有索引的情况下会更快?

我继承了一个新系统,我正在尝试对数据进行一些改进。我正在尝试改进这张表,但似乎无法理解我的发现。

我有以下表结构:

该表中有大约 220k 条记录。我需要返回日期大于特定日期的所有记录。在这种情况下,2009 年 12 月 1 日。此查询将返回大约 66k 条记录,运行大约需要 4 秒。从我过去研究过的系统来看,这似乎很高。特别是考虑到表中的记录很少。所以我想把时间缩短。

所以我想知道有什么好的方法可以降低它?我尝试将日期列添加到表中并将字符串日期转换为实际日期列。然后我在该日期列上添加了一个索引,但时间保持不变。鉴于没有那么多记录,我可以看到表扫描如何快速,但我认为索引可以缩短时间。

我还考虑过只查询月份和年份列。但我还没有尝试过。如果可能,希望将其保留在日期列之外。但如果不是我可以改变它。

任何帮助表示赞赏。

编辑:这是我试图运行并测试表速度的查询。我通常会列出列,但为了简单起见,我使用了 * :

编辑2:所以我提到我试图创建一个包含recvddate数据但作为日期而不是varchar的日期列的表。这就是上面查询中的 TicketRecvdDateTime 列。我针对此表运行的原始查询是:

0 投票
4 回答
235 浏览

sql - SQL EXISTS 性能

我知道 SQLEXISTS检查是否存在行,但是它会评估整个表达式吗?例如,会是这样的:

比这样的更快:

0 投票
6 回答
291 浏览

sql - MySQL 查询性能

我有以下表结构:

我需要添加EVENT_COMMENTS应该是文本字段或非常大的字段VARCHAR

我有 2 个地方可以查询此表,一个位于列出所有事件的页面上(在该页面中,我不需要显示 event_comments 字段)。

另一个页面加载特定事件的所有详细信息,我需要在该页面上显示 event_comments 字段。

我应该为该事件创建一个带有 event_id 和 event_comments 的额外表吗?或者我应该在当前表中添加该字段吗?

换句话说,我要问的是,如果我的表中有一个文本字段,但我没有SELECT,它会影响对我的表的查询性能吗?

0 投票
3 回答
2562 浏览

sql-server - SQL Server 非聚集索引永远不会出现在执行计划中

我有一个tbl_event使用非聚集索引调用的数据库表IDX_Event_FolderIDX_Event_Time定义为:

我运行了以下简单查询,并直接在下面显示了执行计划:

查询一:

查询 1 的执行计划

查询 2:

查询 2 的执行计划

我的问题是,为什么nobjectid上的索引从未使用过?当在这些 select 语句的 where 子句中指定 nobjectid 时,我希望会有索引查找或扫描。我对这个分析的理解不正确吗?

0 投票
2 回答
1706 浏览

sql - 在 MySQL 中获取满足给定条件的 x 随机行的优化方法

我需要从满足某些给定条件的数据库表中获取 x 行。我知道我们可以使用 ORDER BY RAND () 从 MySQL 中获取随机行。

我正在寻找最优化的方法来做同样的事情{系统资源的低使用率是主要优先级。下一个重要的优先级是查询的速度}。另外,在表格设计中,我应该制作 'cat' INDEX 吗?

0 投票
4 回答
67 浏览

mysql - 我应该在这些列上创建索引吗?

我的数据库中有一些列,主要是 varchar 255s。它们只被访问一次,但每个页面加载/请求登录用户加载一次。(大多数情况下,它们包含用户偏好等内容)。

我的问题是,我是否应该在这些列上创建索引?我已经在多个查询中使用的其他列上获得了索引,而不是只读取一次并像这些列一样存储。

0 投票
2 回答
170 浏览

sql-server - sql性能问题

我在 SQL Server 2000 中有一个包含 24M 条记录的数据库。

当我运行这个查询

甚至这个

它运行速度非常快,并在 10 秒内返回 3500 条记录,请注意starttimechar(30)数据库中

但是当我运行这个查询时,它只会在 10~60 秒内返回 32 条记录

:: @MinDate 值为 2011-05-15 00:00:00.000

请注意,starttime在我的数据库中编制了索引

我想知道我的问题是什么?

0 投票
2 回答
117 浏览

performance - ms-access 查询性能

我在数据表视图中显示了一个子表单,该子表单具有这样的记录源:

myFunction()调用 MySQL 存储过程的 vba 函数在哪里。

问题是myFunction()被调用太频繁了。例如,只要在同一记录中将焦点从一列移到另一列,即使该记录保持不变,它也会被调用。有没有办法阻止这种情况发生?

0 投票
3 回答
135 浏览

sql - 将两个查询合并为一个

我不确定我是否可以在一个查询中执行此操作,但我想这样做。

我需要这样的所有记录:

我还想排除这些属于这种情况的记录:

更新:(抱歉混淆)

  • 因此,如果 field_1 等于 1、2、3 或 4 并且具有今天的日期时间戳,我需要显示记录(添加到结果中)
  • 如果 field_1 等于 1、2、3 或 4,并且日期时间戳小于今天(将其从结果中删除)。

将两个结果合并到一个查询中的任何想法

注意事项(如果这有所不同):

  • field_a 可以有一个值 az,1-99(只有两个字符)