Tag: sql execution plan

衡量查询性能:“执行计划查询成本”与“时间”

我试图确定两个不同的查询的相对performance,并有两种方法来衡量这一点对我来说: 1.运行两个和每个查询时间 2.运行并从实际执行计划中获得“查询成本” 这是我运行查询时间的代码… DBCC FREEPROCCACHE GO DBCC DROPCLEANBUFFERS GO DECLARE @start DATETIME SET @start = getDate() EXEC test_1a SELECT getDate() – @start AS Execution_Time GO DBCC FREEPROCCACHE GO DBCC DROPCLEANBUFFERS GO DECLARE @start DATETIME SET @start = getDate() EXEC test_1b SELECT getDate() – @start AS Execution_Time GO 我得到的是以下内容: Stored_Proc Execution_Time Query Cost (Relative To […]

了解Oracle SQL Developer中的执行解释计划的结果

我试图优化一个查询,但不太理解从解释计划返回的一些信息。 任何人都可以告诉我的select和成本列的意义? 在OPTIONS列中,我只看到FULL字样。 在COST列中,我可以推断出一个较低的成本意味着一个更快的查询。 但是,成本价值究竟代表什么,什么是可接受的门槛?

更快的方法来删除匹配的行?

谈到数据库,我是一个相对的新手。 我们正在使用MySQL,目前我正在尝试加速SQL语句,似乎需要一段时间才能运行。 我环顾了一下类似的问题,但没有find一个。 目标是删除表A中与表B中匹配的所有行。 我目前正在执行以下操作: DELETE FROM a WHERE EXISTS (SELECT b.id FROM b WHERE b.id = a.id); 表a中约有100K行,表b中约有22K行。 列'id'是两个表的PK。 这个陈述需要大约3分钟的时间运行在我的testing盒 – 奔腾D,XP SP3,2GB内存,MySQL 5.0.67。 这对我来说似乎很慢。 也许不是,但我希望能加快速度。 有没有更好/更快的方法来完成这个? 编辑: 一些额外的信息,可能会有所帮助。 表A和B具有相同的结构,我已经做了以下创build表B: CREATE TABLE b LIKE a; 表a(也就是表b)有几个索引来帮助加快对它的查询。 再次,我是DB工作的相对新手,仍然在学习。 我不知道这对事物有多大影响,如果有的话。 我认为它也有效果,因为索引也必须清理,对吧? 我也想知道是否有任何其他数据库设置,可能会影响速度。 另外,我正在使用INNO DB。 以下是一些可能对您有帮助的其他信息。 表A有一个类似的结构(我已经消毒了一下): DROP TABLE IF EXISTS `frobozz`.`a`; CREATE TABLE `frobozz`.`a` ( `id` […]

查询计划中的“位图堆扫描”是什么?

我想知道“位图堆扫描”的原理,我知道这经常发生,当我在OR条件下执行查询。 谁可以解释“位图堆扫描”背后的原理?

你如何解释一个查询的解释计划?

当试图理解SQL语句如何执行时,有时build议查看解释计划。 在解释解释计划(有意义)时应该经历什么过程? 什么应该突出,“哦,这是出色的工作?” 对“哦,不,这是不对的。”

如何在SQL Server中读取执行计划

任何人都可以解释如何在SQL Server中读取执行计划吗?

保持PostgreSQL有时select错误的查询计划

PostgreSQL性能的一个奇怪的问题,查询,使用PostgreSQL的8.4.9。 此查询是在3D卷内select一组点,使用LEFT OUTER JOIN添加相关的ID列,其中存在相关的ID。 x范围的小改动可以使PostgreSQLselect一个不同的查询计划,这个计划的执行时间从0.01秒到50秒。 这是问题的查询: SELECT treenode.id AS id, treenode.parent_id AS parentid, (treenode.location).x AS x, (treenode.location).y AS y, (treenode.location).z AS z, treenode.confidence AS confidence, treenode.user_id AS user_id, treenode.radius AS radius, ((treenode.location).z – 50) AS z_diff, treenode_class_instance.class_instance_id AS skeleton_id FROM treenode LEFT OUTER JOIN (treenode_class_instance INNER JOIN class_instance ON treenode_class_instance.class_instance_id = class_instance.id AND class_instance.class_id = […]

如何获得查询执行计划?

在Microsoft SQL Server中,如何获取查询/存储过程的查询执行计划?