问题标签 [sqlperformance]

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 投票
2 回答
1351 浏览

sql - 从 T 中选择 a + 从 T 中选择 b,或从 T 中选择 a、b?H2 数据库

使用 H2 数据库哪个更快?

或者

0 投票
0 回答
43 浏览

sql - 在 EF SQL 查询中,两个“使用”块或一个块要快得多,还是它们的速度差不多?

使用 Entity Framework 4.0 生成 SQL 查询的以下两种查询方法中的哪一种明显更快?第一个使用两个“使用”块,而第二个只使用一个。这两种方法都需要两次访问数据库,但第一种方法关闭连接两次,而第二种方法关闭一次。我猜这两种方法的速度大致相同,并且执行速度彼此之间没有显着差异——真的吗?但是,假设这些方法(它们是 Web 服务方法)被非常频繁地访问,大约每秒 2000 次,因此每一点性能都会有所帮助。那么我应该将版本 I 中的代码重写为版本 II 吗?

谢谢你。

0 投票
3 回答
839 浏览

mysql - 使用 OR 条件优化 DISTINCT SQL 查询

我有以下 SQL 查询:

我试图实现的是获取所有没有记录的唯一业务密钥 concept=case AND attrib=status AND value=closed。在 MySQL 中使用 500 000 条记录和所有唯一业务键运行此查询非常慢:大约 11 秒。

我将索引放置到 business_key 列、概念、属性和值列。我还尝试使用所有三列(概念、属性、值)的组合索引,但结果是相同的。

这是EXPLAIN EXTENDED命令的屏幕截图:

在此处输入图像描述

有趣的是,在没有 distinct 说明符的情况下运行查询会导致执行速度非常快。

我也试过这个:

更糟糕的结果:大约 25 秒

0 投票
2 回答
959 浏览

sql - 检查多个表中的数据是否存在

要检查多个表(10 - 15 个表)中是否存在 Id,最好的选择是什么?在性能方面。

  1. 使用联接
  2. 对每个表使用单独的查询(从 Spring 的 DAO 调用)。
  3. 使用存在。

需要根据来自多个表的 Id 的存在来做出决定。

0 投票
2 回答
155 浏览

mysql - SQL 性能 - 联合和子选择

我有三个表,它们有一个不是其标识符的公共字段。例如:

我正在尝试构建一个报告,列出下个月到期的所有项目。我不认为连接会起作用,因为三个表之间没有外键关系。我目前倾向于在 expiration_date 添加索引并使用联合和 3 个子选择,但我担心这会产生糟糕的性能。有更好的解决方案吗?

0 投票
1 回答
469 浏览

sql-server - SQL Server 2005 CTE 执行大量逻辑读取

我有一个 CTE 查询似乎会导致大量逻辑读取(或者它可能不会)。我已经运行了 SQL Server Profiler 跟踪,并且此查询似乎一直是运行时间最长的查询之一。(每次点击页面都会调用它)

基本上我想知道我的 CTE 是否正确优化,或者可以改进。

如果我离开这条线:

出,然后逻辑读取的数量从〜8500跳到〜13000

(查询所做的是在 ASP.NET 中构建下拉菜单层次结构)如果逻辑读取没问题,那么我假设我必须想出另一种方法来缓存/存储这个菜单(更新 2 或一周3次)

谢谢

ContentPage 的表结构

0 投票
1 回答
123 浏览

sql-server - 关于 Sql Profiling

我想知道如何使用 sql server 2008 的 sql 分析工具。对于 anjlab sql profiler,应该设置哪些过滤器才能获得准确的查询?

0 投票
1 回答
369 浏览

sql - 为什么过滤表的内连接比不过滤的慢?

WINDOWS 2008 上的 SQL Server 2008

请比较以下sql:

1.

2.

3.

鉴于 Trades 有数百万行,而 UserAccount 是一个非常小的表。AccID 可以是重复的。

执行结果:

  1. 234734792
  2. 8806144
  3. 8806144

我预计 No.2 至少可以和 No.1 一样快,但实际上它比 No.3 慢得多,甚至慢得多 时间消耗:

  1. 2 秒
  2. 10 秒
  3. 8 秒

有人可以解释原因吗?当我需要像 UserID=1126 这样的过滤器时,是否可以让它更快?

0 投票
0 回答
758 浏览

mysql - What is the best performance of design for my tables?

I have 3 tables that they can be on 1table. What is the best performance for its design? I need a fast database on search and read, not on insert.

  1. These 3 tables will be read too more than be written
  2. These 3 tables have more than 5 millions records
  3. Most of the fields that are available in this table "p_apartmentbuy" are used in the search clause query (they have been indexed) And include some fields that are shown in the search result
  4. The fields in this table "p_apartmentbuydetail" aren't used in search clause
  5. "pf_contact" table will be used to show on some search result and usually some columns are null

And what is differences between a "keyname with several indexes" and "several keynames with one index for each one" (like attachment photo). enter image description here

0 投票
1 回答
185 浏览

sql - 在 SQL Server 2000 中处理大型表的性能

我有一张tbl_ECR_ProductData近 92356143 行的表。每周将 100000 行导入此表。

该表有 16 列,其中 2 列构成主键,其余列的类型为varchar.

我的问题是当我根据剩余的列值搜索表格时.. 它需要很长时间,将近 10 分钟。

我怎样才能最大限度地减少时间?请在这方面帮助我..感谢您的帮助...提前致谢!表结构如下

CREATE TABLE [tbl_ECR_ProductData]( [Serial Number] [varchar](255) NOT NULL, [Act Number] [varchar](255) NULL, [Act Date] [datetime] NULL, [Act Location] [varchar](255) NOT NULL, [Manufacturer] [varchar](255) NULL, [ManufacturerPN] [varchar](255) NULL, [Act Description] [varchar](255) NULL, [Act PtNumber] [varchar](255) NULL, [Act Code] [varchar](255) NULL, [Act DateCode] [varchar](255) NULL, [Pmrl] [varchar](255) NULL, [Act ReceiveDate] [datetime] NULL, [Act Channel] [varchar](255) NULL, [Act Supplier] [varchar](255) NULL, [ImportDate] [datetime] NULL
CONSTRAINT [PK_tbl_ECR_ProductData] PRIMARY KEY CLUSTERED ( [Serial Number] ASC, [Act Location] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY] )