问题标签 [sql-optimization]
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.
sql - 帮我优化 SQL 上的硬逻辑
首先,我会尝试(用我糟糕的英语)解释我拥有什么以及我需要拥有什么
我有时间线的事件列表。
事件是一些离散信号 1/0,它在一段时间内发生并具有一定的持续时间。
我的活动列表看起来像
如果同时有A1 事件为 1 A2 为 0 或 A5 为 1,则这些事件可以调用一些复杂事件——例如
我的复杂事件(事件)结构是:
我需要不要错过任何可能的更改,因此当某些事件发生时,我正在寻找可能会更改的复杂事件,但是要知道是否更改了复杂事件,我需要了解该复杂事件的其他依赖项,因此下一步是获取所有相关事件及其状态 1/0。这是我的尝试:
而且它的工作速度非常慢,如果可能的话,我需要进行认真的优化。
最慢(95% 的时间)部分是
也许我在这里做错了什么......
我只想在这次 D.[Retime] 中从 EventView 中检查 D.[Event] 的值...
评论请求添加的事件视图:
sql - 旋转表的 SQL 优化
我需要旋转我的表格,所以如果某个字段(ID)有一些值,我需要创建一个列
我做了一个自定义查询:
是的......这应该很有趣,但它的工作非常缓慢。
优化这个....是真的吗?
mysql - SELECT MIN 列值和 CHAR 列在 MySQL 中真的很慢
我有理由确定这个问题的答案在于拥有不同的索引。我有一个非常慢的查询,但只有当它采用以下完整形式时,如果我删除部分查询,它的速度非常快,我怎样才能让它变得更好?
慢的:
解释:
数据库结构:
像 Neo 建议的那样更新我的索引后,我得到了巨大的改进:
sql - 查询与查询 - 为什么这个比另一个快?
我有以下两个查询 - 原来是第一个,第二个是我的轻微“升级”。第一个需要将近一秒钟的时间才能运行,第二个完成后我的手指才能完全离开刷新按钮。
我的问题:为什么?
第一个和第二个之间的唯一区别是第一个使用 coalesce 来获取一个值来比较 berp.ID_PART_SESSION 和第二个使用联合将两个 select 语句放在一起以完成相同的事情。
我仍然认为第一个应该更快(我使用合并的最初原因),因为它似乎应该做更少的工作来获得相同的结果。考虑到我破译执行计划有多弱,有人可以解释为什么第二个查询比第一个好得多吗?
对比
mysql - SQL 问题 - 如何选择包含第二个表中所有引用的所有元组?
这是交易 - 我在这里有三张桌子:
使用嵌套查询,我可以检索由某个集合中的标签标记的所有公司,即:
上面的查询返回标签 id 为 12、43 或 67 的所有公司,但我需要检索所有标签为 12 AND 43 AND 67 的公司
我将如何在这里重做我的查询?我正在使用 MySQL
php - 复杂的SQL查询,需要根据时间限制通过count排序
大家好,我这里有以下三张表。
我必须检索显示以下内容的列表:
我需要这样做才能真正有效,我需要设置什么样的索引以及如何在这里制定 SQL 查询?我将使用 PHP 来显示这个。请注意,我需要能够根据出行次数进行排序。
编辑 ==
哎呀忘了提我的sql:
我尝试了以下方法:
它可以工作,但需要很长时间才能执行 - 再加上考虑到我的 airports 表有超过 30'000 个条目,并且 trips 表是可变的。
我只是从国家表中获取国家/地区的名称 - 如果我在 sql 中排除加入国家/地区表,而是从索引为 ID 和值的数组中检索国家/地区名称会更好国家名称?
sql - 视图工作缓慢,我必须在临时表中使用选择吗?
所以我遇到了一个严重的麻烦,因为我的最后一个查询执行时间是 8 分钟才能获得 2500 个节点。它只是结合了其他两种观点。
第一个观点是:
1 秒和 1600 个节点
第二种观点是:
3秒执行时间和2100个节点
最后的观点是
8 分钟和 2500 个节点。
我什至使用 RowNumber AS rwnb 来加快处理视图的速度,但它仍然非常慢。我必须在前 2 个视图中使用 select into temp 表吗?或者我在这里做错了什么?
最终目的是在每次“事件”发生变化时为“事件”的某些“组”获取值
sql - 如何从同一张表中优化几个“WHERE(Select ....)= value”
我很难为我写一个主题名称。但我可以举一个例子:
当我真的需要这样的东西时,我正在处理 2 个查询:
但是 SQL 不适用于元组,所以我必须在这里进行Inner Join吗?
sql-server-2005 - 优化select查询(内select+group)
我当前的版本是:
但它的工作速度很慢。
基本上在内部选择中,我选择最接近我的时间,然后按这个最近的时间分组。
是否有可能的优化?也许我可以以某种方式加入它,但麻烦的是我不确定如何按最近的日期分组。
谢谢
mysql - Optimizing MySql query
I would like to know if there is a way to optimize this query :
Now When i see the query log :
Query Profile :
2) Should i put indexes on the tables having in mind that there will be a lot of inserts and updates on those tables .
From Tizag Tutorials :
Indexes are something extra that you can enable on your MySQL tables to increase performance,cbut they do have some downsides. When you create a new index MySQL builds a separate block of information that needs to be updated every time there are changes made to the table. This means that if you are constantly updating, inserting and removing entries in your table this could have a negative impact on performance.
Update after adding indexes and removing the lower() , group by and the wildcard
Time: 0.855ms