问题标签 [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.
c# - LINQ 或实体框架创建无界 SQL 语句
我致力于我的应用程序的速度优化,我发现 LINQ(或 EF)正在为我创建一些运行缓慢的奇怪 SQL。
这是一些代码:
从理论上讲,它应该创建了需要 25 条记录的 SQL 语句,但分析器显示了以下 SQL:
_databaseView 是 IQueryable 对象,我的所有排序和过滤逻辑都在该对象上完成。
这是我想出来的:如果我不做任何过滤,SQL 是正常的,上面有 SELECT TOP (25)。但是每当我过滤某些东西时,就会变得一团糟。这是我的过滤器之一的代码:
它没有任何约束。我如何使这个 LINQ-EF 东西产生一些好的 SQL ?
提前谢谢!
sql - mysql“分组依据”非常慢的查询
我在一个大约有 10 万条记录的表中有这个查询,它运行速度很慢(3-4 秒),当我取出组时它要快得多(不到 0.5 秒)。我很茫然如何解决这个问题:
msgtable 在thread_id
、id
和senderid
上有索引recipientid
。
解释回报:
任何想法如何在返回相同结果的同时加快速度(每个线程有多条消息,我想在此查询中每个线程只返回一条消息)。
提前致谢。
sql - SQL 优化
如何优化这个?
mysql - 将 IN 子查询重写为 JOIN
我从来没有在 MySQL 中使用 IN 获得过良好的性能,并且我再次遇到了性能问题。
我正在尝试创建一个视图。它的相关部分是:
基本上,我只想知道客户是否附有便条。多少个音符都没有关系。如何使用 JOIN 重写它以加快速度?
客户表目前有 150 万行,因此性能是一个问题。
postgresql - 优化多个 OR 查询
我有一个数据库表,我需要验证用户是否输入了相同或部分相同的信息。
这就是我的想法
数据库布局
查询
如果任何数据匹配(是的,这将是误报),我需要旧的 rec_id。
想知道是否有更好的方法来做到这一点?
谢谢
sql - 优化 UNION MySQL 查询,其中两个查询使用大量相同的表
我在 MySQL 中使用 UNION 来将两个单独查询的结果组合在一起。这两个查询使用了很多相同的表。有没有办法利用这一点来优化查询?
它很长,所以不要觉得有义务阅读整本书。要点很简单,联合两边的查询使用了很多相同的表。
sql - 消除 SQL 中的交叉连接
我正在尝试优化包含交叉连接的查询。我有大型查询,我继续与派生表交叉连接。
是否会通过将派生表转换为视图来提高查询速度?或者甚至在永久表中捕获这些信息?
这是我的查询
这是一个很长的查询,所以不需要全部阅读。要点很简单,就是有一个交叉连接。我是 sql 新手,但有人告诉我交叉连接会减慢速度。
sql - SQL:速度改进 - 杂乱的联合查询
表格人口示例:
current_tbl:
进口表格:
预期输出:
执行此方法可以消除该行所在的条件:
但它保留了A3行
我希望这是有道理的,我没有过度简化它。这是我的另一个问题的延续问题。这些改进的连续性使查询从〜32000ms下降到现在的〜1200ms - 相当大的改进。
我怀疑我可以通过UNION ALL
在子查询中使用进行优化,当然还有通常的索引优化,但我正在寻找最好的 SQL 优化。仅供参考,这种特殊情况适用于 PostgreSQL。
php - 需要查看一个日期范围是否与sql中的另一个日期范围重叠
我有一个存储房间预订的表,架构是:
我需要对一组日期范围内可用/不可用的房间运行搜索查询。
另请记住,还有另一个表格,其中包含预订房间的日期及其格式:
所以我需要运行一个查询来查找设定范围内的可用房间,我将如何制定查询?我在这里使用 MySQL。
- -编辑 - -
还有一个模式的房间表:
unavailability/prebooked dates表基本上是零星的单个日期,unavailability表中的每个日期都是指由于某种原因无法预订房间的日期,例如:维护等
php - 计算介于预定义日期范围之间的天数
这是一个复杂的情况。我有一个预订系统,可以预订房间。
问题是房间的价格不是作为一个单一的值存储的,而是基于周期的。就像一个房间在 9 月到 12 月之间可以有一个每日房价,从 3 月到 8 月可以有不同的房价,而在其他情况下可以有一个基本房价。
费率表是这样的:
假设 3 月 1 日至 3 月 31 日期间的房间价格为 20 美元/天,4 月 15 日至 5 月 30 日同一房间的价格为 30 美元,此外该价格是 15 美元/天的固定价格。
如果此房间由一位客户在 3 月 15 日至 5 月 10 日期间预订,则总费用为:
现在如何在代码中计算这个值,如果有的话,我需要根据费率周期计算天数,否则为它们使用基本费率。它很复杂,但就是这样。我正在使用 php MySQL