sqlperformance相关内容

每个用户表都应该有一个聚集索引吗?

最近我在数据库中发现了几个没有定义聚集索引的表.但是定义了非聚集索引,所以它们在 HEAP 上. 在分析中,我发现 select 语句在非聚集索引中定义的列上使用过滤器. 在这些表上没有聚集索引会影响性能吗? 解决方案 很难比 SQL Server MVP 更简洁地说明这一点 布拉德·麦吉希: 根据经验,每个表都应该有一个聚集的 通常,但并非总是如此,聚集索引应该位于单调 ..

MySQL中键、主键、唯一键和索引的区别

我应该什么时候使用KEY、PRIMARY KEY、UNIQUE KEY 和INDEX? 解决方案 KEY 和 INDEX 在 MySQL 中是同义词.他们的意思是一样的.在数据库中,您可以使用索引来提高数据检索的速度.通常在 JOIN、WHERE 和 ORDER BY 子句中使用的列上创建索引. 假设您有一个名为 users 的表,并且您想要搜索姓氏为“Smith"的所有用户.如果没 ..
发布时间:2021-11-20 21:40:19 数据库

SQL Server 是否在复杂视图中传播 WHERE 条件?

我已经用一个完整的例子来跟踪这个问题,以防我从这个问题中不清楚我的意思. 我制作了一个视图,它连接了大约五个表中的数据.这些表有大量数据,查询运行缓慢.我的问题是,如果我这样做: SELECT * FROM myView WHERE PersonID = 1000 SQL Server 是否“知道我的意思"并自动将该条件传播到视图中的底层连接?这样它就不会为所有人运行,而是在正确的阶段最 ..
发布时间:2021-09-17 20:20:29 数据库

Sybase:从另一个存储过程中调用的存储过程太慢

我正在为 Sybase 数据库编写存储过程.我使用 Sybase Central 16.0 作为我的开发环境.我使用的机器运行 Microsoft Windows Server 2012 R2 标准版,并有 16GB RAM 在 2.8GHz CPU 上运行. 我的存储过程使用一个游标来遍历一个表中的记录,该表有大约 400,000 条记录.每条记录都被增量写入 LONG VARCHAR 变 ..
发布时间:2021-08-30 19:53:20 数据库

为什么这些 SQL Server 统计信息在设置为自动更新时会过时?

我们有一个 SQL Server 2012 实例,数据库的自动统计设置为 ON: 但是后来我运行了一个查询来检查一些统计数据,并且一些已经有一段时间没有更新了: 为什么会这样?SQL Server 是否更新这些索引未触发的统计信息是否有规则? 我需要关心吗?我怎么知道我是否需要更新它们,或者它们是否给我带来了性能问题? 谢谢! 解决方案 即使您将 Auto update ..

SUBQUERY 总性能与案例总和性能

我必须根据 where 子句对某些列进行求和,以便更好地理解我在这里实施临时表 声明@tbl table(a int ,b int,c int)插入@tbl 值(1,2,3)插入@tbl 值(2,2,3)插入@tbl 值(1,3,1)插入@tbl 值(1,2,3)插入@tbl 值(1,2,3) 并且为了找到 a,b,c 的总和 ob 基于 a,b,c 的值;我正在使用以下查询 SELECT ..
发布时间:2021-08-27 18:38:54 其他开发

如何使用 SQL Server 批量更新?

我有一个包含 1000 万行的表,我需要将它与另一个表连接并更新所有数据.这花费了 1 个多小时,它使我的事务日志增加了 10+ GB.还有其他方法可以提高这种性能吗? 我相信每次更新后,都会检查索引和约束并记录所有信息.有没有办法告诉 SQL Server 仅在更新完成后检查约束并最少记录更新操作? 我的查询如下.我修改了一些名称,以便于阅读. UPDATE o设置 o.Info1 ..
发布时间:2021-08-25 20:22:26 数据库

SQL Server SELECT INTO 和临时表阻塞

所以,最近一个 DBA 试图告诉我们,我们不能使用 的语法 SELECT X, Y, Z进入#MyTable从你的桌子 在我们的环境中创建临时表,因为该语法会导致在存储过程执行期间锁定 TempDB.现在,我发现了许多详细说明临时表如何工作、执行范围、清理等的内容.但在我的一生中,我看不到因为它们的使用而阻塞的任何事情. 我们正在努力寻找证据,证明我们不应该对所有临时表执行 CREAT ..
发布时间:2021-08-25 19:43:54 数据库

将数据集与 EXCEPT 结合与在 LEFT JOIN 中检查 IS NULL

我目前正在通过Microsoft SQL Server 2008 - 数据库开发(MCTS 考试 70-433) 认证.在之前关于组合数据集的一章中,我遇到了EXCEPT(和INTERSECT)命令.一个示例展示了如何使用 EXCEPT 从一个表中获取所有值,而该表在第二个表中没有相关值,如下所示: SELECT EmployeeKey FROM DimEmployee除了SELECT Empl ..

SQL 查询大约需要 10 - 20 分钟

我有一个选择(没什么复杂的) 从VIEW中选择* 这个视图有大约 6000 条记录和大约 40 列.它来自 Lotus Notes SQL 数据库.所以我的 ODBC 驱动器是 LotusNotesSQL 驱动器.执行查询大约需要 30 秒.我工作的公司使用 EXCEL 来运行查询并将所有内容写入工作表.由于我假设它逐个单元地写入所有内容,因此过去最多需要 30 - 40 分钟才能完成. ..
发布时间:2021-06-15 19:41:04 其他开发

当查询包含不同的 order by 和内部联接时,如何避免 Union All 中的 TempTable?

我想要做的是始终将数量为 0 的产品发送到已经排序的临时表的末尾而不会丢失当前排序(正如我在以下问题中所述如何将零数量产品发送到 PagedList;?) 我有一个 Sorted 已填充的临时表(按用户选择的内容排序,如 Alphabetic 、价格或较新的产品,排序基于身份 ID): 创建表#DisplayOrderTmp([Id] int IDENTITY (1, 1) NOT NUL ..
发布时间:2021-06-08 18:55:50 数据库

SQL Server:地理搜索性能-查询最近的商店

我在离商店最近的地方进行了性能查询: 我们有一个表格,其中包含一个国家/地区约50,000条记录(商店/销售点的位置). 每条记录都有location个“地理位置"类型的列 [LOCATION_geo] [geography] 为了提高性能,我使用此语法在该location列上创建了一个空间索引 CREATE SPATIAL INDEX [LOCATION_geoInd ..
发布时间:2020-11-13 06:36:57 数据库

SQL查询-长时间运行/占用CPU资源

您好,我有下面的SQL查询,该查询平均需要40分钟才能运行,它引用的表中有700万条记录。 我已经通过数据库调整顾问运行了此操作并应用了所有建议,而且我已经在sql的活动监视器中对其进行了评估,因此未建议进一步的索引等。 任何建议会很棒,谢谢您 使用CTE AS ( SELECT r.Id AS ResultId , r.JobId, r.CandidateId, r. ..

SQL长时间运行的查询/最大化服务器资源,例如内存/ CPU

我最初发布了以下线程 SQL查询-长期运行/采用CPU资源 我的问题是查询的可维护性,已经解决了这一问题(请参见上一个线程,但总之,我使用了很多ISNULL函数 我的SQL Server设置如下: 并行度的成本阈值 5 最大并行度 0 我的查询仍然需要2:13运行并导致CPU /内存峰值,我有一个功能强大的服务器,例如64GB RAM,因此资源不是问题。请参阅下面 ..

“从表中选择计数(id)";在SQL Azure中最多需要30分钟才能计算

我在SQL Azure中有一个数据库,它不需要15到30分钟即可完成一个简单的操作: select count(id) from mytable 数据库约为3.3GB,返回的计数大约为2,000,000,但是我在本地尝试过,并且只用了不到5秒的时间! 我也运行过: ALTER INDEX ALL ON mytable REBUILD 在数据库中的所有表上. 如果有人 ..
发布时间:2020-09-17 21:08:48 其他开发

MySQL服务器未得到充分利用; thread_running小于2

我正在运行MySql 5.6,我注意到在对服务器进行基准测试(一段时间内并行执行几百个查询)时,在m1.large aws实例上CPU利用率从未超过50%. 我已将thread_cache变量设置为50,将max_connections设置为500.当我从shell执行以下命令时, mysqladmin -u root -ppassword -r -i 1分机| grep Thread ..
发布时间:2020-08-14 06:54:32 数据库

使用LIKE运算符优化mysql查询以获取10k条记录

注意: 所以正如我所想,真正的问题是因为我正在使用Tag标记的IN子句.更改用于文本搜索的查询部分并没有太大帮助.知道如何改善查询吗? 在服务器上运行时,查询花费的时间太长.在此,Partha S是用户输入的搜索项目.表联系人包含个人信息,标签包含类别名称和ID;和contacts2tags表包含contactid和tagid,其值分别类似于contacts和tag中的id. ..
发布时间:2020-08-11 08:58:27 PHP