SQL Server查询优化?

2023-12-28

我有以下查询:

SELECT
  tl.*, d.*
FROM
  TrackerLocations AS tl
  inner join Trackers t on tl.TrackerId = t.TrackerId
  inner join Devices d on t.UserId = d.UserId
WHERE
  tl.ReceivedTime = (SELECT MAX(tl2.ReceivedTime) FROM TrackerLocations tl2 WHERE tl2.TrackerId = tl.TrackerId)
  and tl.ReceivedTime >= DATEADD (MINUTE,-2,GETUTCDATE())
  and d.OSType <> 3
  and d.Notify = 1

...令我惊讶的是,它没有在可接受的时间内返回结果。我第一次在生产环境中运行它,大约执行了 3 秒。现在,它会运行直到超时(在 C# 应用程序内,30 秒)。
主要目的是:“向我提供任何跟踪器的最新位置及其用户设备的信息,向后查看 2 分钟”。
有关优化此查询的任何提示吗?

Thanks!

Indexes:Anywhere but where 子句列(ReceivedTime、OSType、Notify)。

关于执行计划,这是一个很大的事情,我也不太熟悉。我应该把它粘贴到这里吗? :)


SELECT tl.*,d.*
 FROM
    TrackerLocations AS tl
    inner join Trackers t on tl.TrackerId = t.TrackerId
    inner join Devices d on t.UserId = d.UserId
 WHERE
    tl.ReceivedTime = (SELECT MAX(tl2.ReceivedTime) 
                         FROM TrackerLocations tl2 
                        WHERE tl2.TrackerId = tl.TrackerId 
                          and tl2.ReceivedTime >= @searchTerm)
    and d.RegistrationId <> ''
    and d.OSType <> 3
    and d.Notify = 1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL Server查询优化? 的相关文章

  • 列中差异的数量

    我想检索一列每行中有多少个字母的差异 例如 如果您有一个值 test 而另一行有一个值 testing 则 test 和 testing 之间的差异为 4 个字母 该列的数据值为 4 I have reflected about it an
  • 探查器模板可以迁移到较新版本的 SQL Profiler 吗?

    是否可以将 Profiler 模板迁移到较新版本的 SQL Server 就我而言 我想将 SQL 2008 模板带到 2012 年 我尝试过 1 直接文件复制和 2 导出 导入 在这两种情况下 旧模板都会运行 但无法修改 修改后会出现以下
  • 单独的逗号分隔值并存储在sql server的表中

    我有一个存储过程 它将逗号分隔的值作为输入 我需要将其分开并需要将其作为单独的行存储在表中 令 SP 的输入为 Rule ID ListType ID Values 1 2 319 400 521 8465 2013 我需要将它存储在一个名
  • Android访问远程SQL数据库

    我可以直接从 Android 程序访问远程 SQL 数据库 在网络服务器上 吗 即简单地打开包含所有必需参数的连接 然后执行 SQL 查询 这是一个私人程序 不对公众开放 仅在指定的手机上可用 因此我不担心第三方获得数据库访问权限 如果是这
  • VB6+SQL-Server:如何使用 ADODB.Command 执行带有命名参数的查询?

    我一直在尝试使用 ADODB Command 执行参数化查询 我知道我可以使用 对于参数 但我的查询相当大 我真的不想跟踪参数的确切顺序 我尝试了类似以下的操作 objCmd CommandType adCmdText objCmd Com
  • 普通表还是全局临时表?

    我和另一位开发人员正在讨论哪种类型的表更适合我们的任务 它基本上是一个我们将在一天结束时截断的缓存 就我个人而言 我认为没有任何理由为此使用除普通表之外的任何内容 但他想使用全局临时表 其中之一有什么优点吗 使用普通表tempdb如果这只是
  • 如何避免使用 Cursor 来实现此伪代码 - SQL Server

    CREATE PROCEDURE p processDataFor accountId BEGIN for each item in select from Accounts where accountId accountId and is
  • 将 SQL Server 与 Dart 结合使用

    我还没有找到很好的答案 所以我想尝试一下得到答案 将 Microsoft SQL Server 与 Dart 结合使用的最佳方式是什么 我需要它能够从基本上任何操作系统 网络和移动设备上使用它 我觉得最好的方法可能是 GraphQL 但我对
  • 同时使用 GUID 和自动递增整数

    我一直在研究使用 GUID 作为数据库中的主键 到目前为止 利似乎大于弊 然而 我发现 GUID 可能不是我想要的 在我的应用程序中 用户应该能够根据用户友好的 ID 来识别对象 因此 例如 如果他们想要获取特定产品而不输入全名 则可以使用
  • 无法使用 Tedious 和 Node JS 连接到本地 SQL Server 数据库

    我正在尝试连接到本地计算机上的 SQL Server 我正在尝试使用乏味和乏味 ntlm 两者的配置如下 var tds require tedious ntlm var tds require tedious var config use
  • SQL 中基于下一条记录和上一条记录的复杂排序

    这是一个后续问题根据 SQL 中的下一条记录和上一条记录进行排序 https stackoverflow com questions 30477803 sorting based on next and previous records i
  • 加密数据库字段的好方法?

    我被要求加密数据库中的各种数据库字段 问题是这些字段在读取后需要解密 我在用着Django and SQL Server 2005 有什么好主意吗 See 在 SQL Server 2005 数据库中使用对称加密 https web arc
  • sql查询获取从一月到当月的所有数据,即使没有记录

    我不擅长 sql 所以任何帮助世界都很棒 我有一个 SQL 查询 可以获取从一月到当月注册的记录 我的代码示例 SELECT DatePart YEAR p createStamp as TheYear DatePart MONTH p c
  • C# 中处理 SQL 死锁的模式?

    我正在用 C 编写一个访问 SQL Server 2005 数据库的应用程序 该应用程序是数据库密集型的 即使我尝试优化所有访问 设置适当的索引等 我预计迟早会遇到死锁 我知道为什么会发生数据库死锁 但我怀疑我能否在某个时候发布不发生死锁的
  • 更改列时快速删除并重新创建多个索引、视图、统计信息

    我的 项目 表中有一个 StoreNumber 列 我想将其更改为 NOT NULL 我最近清理了所有旧数据 以便不存在空条目 但是 当我执行以下语句时 由于对各种视图 索引和统计信息的多重依赖 它失败了 ALTER TABLE Proje
  • 弹簧隔离支持吗? SQL快照隔离

    我们正在使用 SQL Server 快照隔离可能是提高性能和解决一些死锁问题的好方法 假设我们确实需要更改为快照隔离 我似乎找不到一种简单的方法来在 Springs 上启用快照隔离 Transactional 我发现以下 hibernate
  • 如何从 SQL Server 2008 查询结果中删除“NULL”

    我有一个包含 59 列和超过 17K 行的表 很多行都有NULL在某些列中 我想删除NULL以便查询返回空白 而不是NULL 我可以运行一些更新功能来替换所有NULL with 使用 SQL Server 2008R2 Management
  • 从 Getdate() 获取时间

    我想采取Getdate 结果 例如 2011 10 05 11 26 55 000 into 11 26 55 AM 我看过其他地方并发现 Select RIGHT CONVERT VARCHAR GETDATE 100 7 这给了我 11
  • 同时从2个表中删除?

    我正在使用 asp net 和 sql 服务器 我有 2 个表 类别和产品 在产品表中 我的categoryId 为FK 我想要做的是 当我从类别表中删除类别时 我希望该类别中的所有产品都将在产品表中删除 如何才能做到这一点 我更喜欢使用存
  • 我可以从 SQL Server 读取元数据来了解最后更改的行/表吗?

    我们有一个数据库hundreds的桌子 有没有某种metaSQL Server 中的数据源 我可以以编程方式查询以获取名称最后更改表和行 或者我们是否需要实施这个我们自己每个表中的字段称为上次更改日期时间 etc 就查明表最后一次修改的时间

随机推荐

  • vitejs 使用 jsx 进行构建,在 aws amplify 上返回 MIME 错误

    所以我在一个 React 项目中使用 Vitejs 我对应用程序中的所有 React 文件使用 jsx 扩展 使用 npm build 时 然后 npm run Preview 该应用程序在我的本地计算机上运行良好 但是 当我使用 aws
  • 需要使用 modbus_tk 库的帮助

    我正在使用 modbus tk 库作为 Modbus RTU 从站 我有一个现成的 Modbus RTU 主模拟器通过 USB 转 485 转换器在另一台 PC 上运行 我在 Master 中看不到我的持有登记册 我已经验证串行链路良好 因
  • 错误号:3780 引用列“%s”与外键约束“%s”中引用的列“%s”不兼容

    DROP DATABASE IF EXISTS ProviderPatients CREATE DATABASE ProviderPatients USE ProviderPatients CREATE TABLE IF NOT EXIST
  • 如何从 Windows 应用程序 C# 发布 Word 文件

    在我的 Windows C 项目中 我的 Bin Debug 文件夹中有几个 Word 文件 当我发布项目时 我无法访问这些 Word 文件 似乎这些文件未发布 并且出现文件未找到异常 任何人都可以帮助我如何发布这些文件 以便我可以通过我的
  • 使用 SELECT...WHERE id IN (...),按 IN() 对结果排序? [复制]

    这个问题在这里已经有答案了 可能的重复 按 SQL IN 子句中值的顺序排序 https stackoverflow com questions 396748 ordering by the order of values in a sql
  • GWT CellTable 选择并单击 CheckBoxCell

    我有一个 CellTable 它与 SingleSelectionModel 一起使用来进行单选并在详细信息面板中显示一些信息 此外 我还在该 CellTable 中添加了 CheckBoxCell 列 它与另一个 MultipleSele
  • 在 Android 选项卡中显示具有模糊效果的活动

    我的应用程序中有一个选项卡栏 第三个选项卡名为 关于 当用户单击此 关于 选项卡时 我希望以模糊效果显示活动 更具体地说 关于活动 应位于前面 而上一个选项卡应显示在后面并具有模糊效果 我在 about java onCreate 方法中执
  • 计算单元格中的特定字符数 - Excel

    我想计算单元格中的所有特殊字符 例如 有了这个公式 LEN D2 LEN SUBSTITUTE D2 我只能计算一个字符 但我需要计算单个单元格中的多个字符 有没有办法调整这个 谢谢您的帮助 仅使用公式而不是 VBA 可以通过以下两种方法实
  • C++ 中的整数到字符串转换/整数字符串连接 - 更紧凑的解决方案?

    如何进行整数 gt 字符串转换已在互联网上多次得到解答 但是 我正在寻找最紧凑的 C 方式 来执行此操作 由于您可以使用重载的 运算符来连接字符串 因此最好能够按照 python ish 的方式做一些事情 x stringVariable
  • Python + Pandas + Dataframe:Keyerror

    I have about 190 CSV s each of which has same column names A sample csv shared below From everycsv 我需要选择only the Item Pr
  • characteristic.getDescriptor() 返回 null

    我正在将 BLE 计步器连接到 Android 当我在 setCharacteristicNotification 函数中执行以下行时 我得到的描述符为 Null BluetoothGattDescriptor descriptor cha
  • 单选按钮显示/隐藏内容

    我试图在没有 javascript 和单选按钮的情况下实现显示 隐藏结果 我已经设法到达这部分
  • 为 Android 设置 PC 蓝牙服务器 [重复]

    这个问题在这里已经有答案了 可能的重复 在Android上使用蓝牙服务发现失败异常 https stackoverflow com questions 3397071 service discovery failed exception u
  • 为什么会打印 12 次?

    我正在学习Perl的多线程 我的代码 use warnings use threads use threads shared howmany 10 threads 5 to int howmany threads for 0 threads
  • 权限被拒绝 - Sparklyr 中的 \tmp\hive

    我正在尝试使用将 R 数据帧复制到 Spark 2 0 1copy to功能但它说 HDFS 上的根暂存目录 tmp hive 应该是可写的 当前权限为 rw rw rw 我执行了执行程序更改权限 但我仍然得到相同的权限异常 HADOOP
  • Gradle - 如何排除 /src/test/java 上的 Findbug

    有没有办法排除 src test java 下的类上的 Findbugs 执行 我尝试了以下方法 但似乎不起作用 classes classes filter it path contains classes test org Sure 文
  • 如何将阿拉伯语设置为区域设置

    我正在研究文本到语音的转换 为此 我从网上找到了这个例子 在此他们将英语设置为setLanguage Locale US 所以 现在我尝试设置阿拉伯语而不是英语 但是当我将语言更改为阿拉伯语时 我失败了 任何人都可以帮我将语言更改为阿拉伯语
  • Rails:避免 Factory Girl 中的重复错误...我做错了吗?

    假设我有一个模型user 它有唯一性约束email field 如果我打电话Factory user 一旦一切顺利 但如果我第二次调用它 它将失败并出现 条目已存在 错误 我目前正在使用一个简单的帮助程序在创建工厂之前搜索数据库中的现有条目
  • 简单的 IIS URL 重写

    简单的问题 我需要将特定子域 URL 上的所有 http 80 和 https 443 请求重定向到备用 SSL 端口 https 444 例子 http sub corp com http sub corp com gt https su
  • SQL Server查询优化?

    我有以下查询 SELECT tl d FROM TrackerLocations AS tl inner join Trackers t on tl TrackerId t TrackerId inner join Devices d on