query-performance相关内容

甲骨文“总计"计划成本真的低于它的一些元素

我不明白为什么有时,计划的总成本可能很小,而查看计划的内部,我们会发现巨大的成本.(确实查询很慢). 有人能解释一下吗? 这是一个例子.显然,代价高昂的部分来自主选择中的一个字段,该字段在子视图上执行 listagg,并且与此子视图的连接条件包含复杂条件(我们可以在一个或另一个字段上连接). |身份证 |操作 |姓名 |行 |字节 |成本 |--------------------- ..
发布时间:2021-06-30 19:22:33 数据库

是否应该将所有子查询替换为临时表?

我一直在研究一个解决方案(在 SQL Server 中),其中所有子查询无一例外都用临时表重写以提高性能. 举个例子,所有的查询都是这样的: 选择一些东西FROM (SELECT * FROM T1 WHERE condition1)加入 ... 被改写成这样: SELECT *进入#tempTable从 T1WHERE 条件 1选择东西从#tempTable加入 ... 还建议此处 ..
发布时间:2021-06-30 19:22:27 数据库

PostgresSQL 嵌套循环 - 规划器在执行 INNER JOIN 时何时决定使用嵌套循环?

我正在使用 INNER JOIN 运行查询,其中规划器决定使用嵌套循环.我发现它与 WHERE 条件有关,因为我尝试使用不同的 WHERE 条件编写查询,因此它返回相同的结果但不使用嵌套循环. 我的问题是,当查询看起来相同,因为它们都返回相同的结果时,为什么规划器决定做出不同的决定?使用嵌套循环,查询在 77 秒内运行,在没有嵌套循环的情况下运行 13 秒,并且在 13 秒内运行的查询非常丑 ..

多次返回SQL查询性能统计信息

我在 SQL Server 管理工作室上运行这个查询 1 并看到它返回 3 条消息,但在存储过程中有近 10 - 20 条来自统计信息的消息时相同.发生了什么,为什么我会看到它们? SET STATISTICS IO,TIME ON;去选择 [用户 ID],[用户类型],[创建DT],[有效DT]FROM [dbo].[People] ORDER BY [UserId]SET STATISTIC ..
发布时间:2021-06-30 19:21:59 数据库

SQL中的多线程?

我有一个 SQL 查询喜欢 SELECT Column1, Column2, Column3, **ufn_HugeTimeProcessFunction**(Column1, Column2, @Param1) As Column4从表 1 这个 ufn_HugeTimeProcessFunction 函数针对大表(就行数而言)运行,并且后面有几个计算返回值. 我能否强制 SQL 编译 ..
发布时间:2021-06-30 19:21:48 其他开发

为什么临时表和子选择之间存在巨大的性能差异

这是一个关于 SQL Server 2008 R2 的问题 到目前为止,我不是 DBA.我是一名 Java 开发人员,时不时要编写 SQL.(主要嵌入在代码中).我想知道我是否在这里做错了什么,如果是,我可以做些什么来避免它再次发生. 第一季度: SELECT something FROM (SELECT * FROM T1 WHERE condition1) JOIN ... Q ..

从 Web 执行时查询超时,但从 SSMS 执行时超快

我正在尝试在我维护的 Web 应用程序中调试 SQL 超时的来源.我有 C# 代码的源代码,所以我确切地知道正在运行什么代码.我已经将应用程序调试到执行超时的 SQL 代码的行,并观察在 SQL 探查器中运行的查询. 从网络执行此查询时,它会在 30 秒后超时.但是,当我完全按照 Profiler 中显示的方式剪切/粘贴查询并将其放入 SSMS 并运行时,它几乎立即返回.我已将问题追溯到网络 ..

将 PRIMARY KEY 从 NVARCHAR 类型切换为 INT 类型是否值得?

在我们的 SQL SERVER 2008 R2 数据库上,我们有一个包含国家/地区的 COUNTRIES 参考表.PRIMARY KEY 是一个 nvarchar 列: 创建表 COUNTRIES(COUNTRY_ID nvarchar(50) 主键,... 其他栏目) 主键包含诸如“FR"、“GER"、“US"、“UK"等值.此表包含最大值.20 行. 我们还有一个包含销售数据的 SA ..
发布时间:2021-06-21 18:40:39 数据库

即使增加了 work_mem 大小,性能也没有提高

我返回一个查询,执行平均需要 170 秒.我浏览了 PSQL 文档,他们提到如果我们增加 work_mem 性能会提高.即使性能没有提高,我也将 work_mem 增加到 1000 MB. 注意:我索引了所有属于查询的字段. 下面我粘贴了数据库中存在的记录、查询执行计划、查询、结果. 数据库中存在的记录数: event_logs=>从事件中选择计数(*);数数------- ..
发布时间:2021-06-18 20:52:59 其他开发

选择工单(通过参数)及其子项

我有一个 Oracle 12c 查询,最终将用于 BIRT 报告(在 IBM 的 Maximo Asset Management 平台中). 查询/报告将检索记录如下: 根据用户选择的参数检索工单. 所有参数都是可选的. 出于测试目的,我使用 绑定变量作为参数(在 Toad甲骨文). 工作订单是父母、孩子还是两者都无关紧要. 在检索到的工单中,还要选择这些工单的任何子项. ..
发布时间:2021-06-12 21:05:35 数据库

Mysql查询性能很慢

以下查询耗时超过 8 分钟,处理了 900 000 行.它非常慢并且会影响我的产品.我无法确定为什么查询变慢,所有索引都设置正常. 解释SELECT计数(DISTINCT(cinfo.CONTACT_ID))从信息内部联接LTocMapping ON cinfo.CONTACT_ID = LTocMapping.CONTACT_ID在哪里((((((((((cinfo.COUNTRY LIKE ..
发布时间:2021-06-06 20:24:25 数据库

如何在 1 个 sql 查询中从 4 个表中获取数据?

我有以下数据库架构: 表格课程:ID导师_id标题表课程_类别:ID类别编号course_id表类别:ID名称表导师:ID名称表订阅者:IDcourse_id用户身份 我需要制作 1 个 sql 才能获得包含所有类别的课程、该课程的导师以及该课程的订阅者数量.这可以在 1 个查询中完成吗?这应该使用存储过程来完成吗? 解决方案 通过这个查询,你得到你想要的: 选择co.title作为 ..
发布时间:2021-06-05 20:33:49 数据库

MongoDB:查询性能下降

我在 MongoDB 中有一个用户集合,其中包含超过 250 万条记录,共 30 GB.我有大约 4 到 6 GB 的索引.它在具有两个分片的分片环境中,每个分片由副本集组成.服务器专门用于没有开销的 Mongo.总 RAM 超过 10 GB,对于我正在执行的查询类型来说已经足够了(如下所示). 我担心的是,尽管有适当字段的索引,但检索结果的时间是巨大的(2 分钟到高达 30 分钟),这是不 ..
发布时间:2021-06-03 19:45:58 其他开发

在PostgreSQL中索引外键

就像许多Postgres n00bs 一样,我们有很多带有外键约束的表未编入索引.在某些情况下,这应该不会对性能造成重大影响-但这有待进一步分析. 我已阅读以下文章: https://www.cybertec-postgresql.com/en/index-your-foreign-key/ 并使用以下查询查找没有索引的所有外键: SELECT c.conrelid :: regc ..
发布时间:2021-05-15 21:05:33 其他开发

什么索引可以提高JOIN和GROUP BY的性能

我已经设置了一些表并运行了一个查询.但是在我的解释中,它将在临时表中生成SQL结果(我认为这是由于GROUP BY引起的) 我添加了一些索引来加快查询的速度,但是想知道是否有一种方法可以停止使用临时表,是否还有其他方法可以加快使用索引的查询速度? CartData CREATE TABLE`cartdata`(`IDCartData` INT(11)NOT NULL AUTO_IN ..
发布时间:2021-05-13 19:46:44 数据库

POSTGRES在数百万条记录中按时间选择n个均匀分布的行

我有一个表,其中的列 id,filter1,filter2,time,value 包含数百万条记录.我想获取两个时间戳之间均匀分布的 n 行.如果时间戳之间的记录数少于 n ,我想获取所有记录. 假设 n = 200 ,我当前的查询如下所示 SELECT s.* FROM(选择t.time,t.value,ROW_NUMBER()OVER(OR tBY t.time)as rnk,CO ..
发布时间:2021-04-28 20:18:49 其他开发