问题标签 [sql-delete]
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.
sql - SQL Server 2000 删除顶部 (1000)
我有一个包含大约 4500 万条记录的表的大型 SQL Server 数据库。我正在归档此表,并且需要删除两年前的所有条目。我可以正常插入存档表,但是在删除时遇到了效率问题。
我的问题在于当前表上的索引。我想在 1000 个记录块中删除(和存档插入)。为此,我需要确定满足要求的“前”1000 条记录(超过两年)。该行上的 DateTime 标记是一个聚集索引,因此非常适合抓取行。但是 SQL 2000 不允许 DELETE TOP 1000 .... 所以我需要做类似的事情:
如果对 UniqueID 进行索引,这将非常有用。由于不是,这需要很长时间(它正在扫描表中要删除的 1000 条记录中的每一条)。表上没有其他唯一标识记录的索引。有人告诉我,在 UniqueID 上计算索引成本太高,因为这是一个实时数据库。谁能指出优化此查询的方法?
mysql - SQL DELETE with JOIN another table for WHERE 条件
我必须删除guide_category
与guide
表无关的行(死关系)。
这是我想做的,但它当然不起作用。
错误:
您不能在 FROM 子句中指定目标表 'guide_category' 进行更新
mysql - MySQL删除语句优化
我有一些删除查询要针对一些非常大的表(~100 GB)运行,我想尽可能地优化它们:
column1 是一datetime
列,我假设为该列创建索引将加快删除速度。除此之外,我能在这里做什么?使用该date_sub()
函数会减慢查询速度吗?我应该在运行查询之前计算该值吗?
column2 是 table2 的主键,所以根据 mysql 文档它已经是一个索引。我的问题是:索引类型是PRIMARY
,是一样的INDEX
吗?我是否必须制作另一个索引INDEX
以加快速度?
table3 有一个复合主键,即 column3 和 column4。所以我有一个主键索引,但由于删除查询不使用column4,我应该为column3创建一个单独的索引吗?或者组合的主键会做吗?
我想这些是非常基本的问题,但我找不到特定于我的情况的明确答案,所以任何帮助将不胜感激!
sql - SQL Server 2005 高效删除
我手头的问题是我需要从表中删除大约 60M 记录,而不会导致与使用该表的其他进程发生死锁。在这一点上,我几乎已经使用 while 循环删除了记录,该循环一次只处理大约 1M 条记录,但是它需要一整天。
Q1:从表中删除大量数据、保持表在线以及对需要在 MS SQL Server 2005 中使用该表的其他资源的影响最小的最佳方法是什么?
Q2:有没有办法像在 Oracle 中一样在 SQL Server 中实现单独的行锁定(而不是表锁定)?(注意回答这个问题可能会回答 Q1)。
A2:正如@Remus Rusanu 告诉我的那样,有一种方法可以通过删除来进行行级锁定。
mysql - 从表中删除数据,通过两个表连接
我正在处理一些相当敏感的数据,所以我想绝对确定我做得正确。
我正在尝试删除与另一个表关联的表中的行
关联表的唯一方法是通过另外两个表连接......
这是确切的查询:
如您所见,它并不漂亮。
我通过 MySQL 查询浏览器遇到了一个奇怪的错误......
MULTI DELETE 中的未知表“Transaction_Amount”
我试过阅读 mysql 手册,这似乎对我有用......任何人有任何想法?
mysql - 删除查询的 SQL
我正在尝试为我的程序编写一个 SQL 查询,但我就是不知道怎么做。我不知道足够的SQL。
我正在尝试实施一个在线团队系统(对于某些网站)。我有两张桌子:
现在,我需要:删除teammembers
对应的 eventId 为teamId
1 的所有记录。
我正在努力:
我不确定这是否真的在做我想做的事情。
此查询是否错误,如果是(可能是),我该如何编写这样的查询?
sql-server - sql server delete 因索引而大大减慢
我正在运行一个存档脚本,该脚本根据输入的日期从大型(约 50m 记录数据库)中删除行。日期字段是表上的聚集索引,因此我将条件语句应用于其中。
我在一个while循环中运行这个删除,批量尝试从1000到100,000条记录。无论批量大小,它都非常慢;每分钟删除 10,000 条记录。查看执行计划,在“索引删除”上花费了很多时间。表中大约有 15 个字段,其中大约 10 个字段上有某种索引。有没有办法解决这个问题?我什至不确定为什么每次删除索引都需要这么长时间,有人可以解释一下这里到底发生了什么吗?这是我的执行计划示例:
替代文字 http://img94.imageshack.us/img94/1006/indexdelete.png
(序列指向删除命令)
这个数据库是实时的并且经常被插入,这就是为什么我犹豫使用复制和截断方法来修剪大小。我在这里还有其他选择吗?
sql-server - 删除sql server中的大量数据
假设我有一个包含 10000000 条记录的表。这两种解决方案有什么区别?
删除数据,例如:
/li>逐行删除应用程序的所有数据:
/li>
第一个解决方案是否具有最佳性能?对日志和性能有什么影响?
mysql - MySQL从多个表中删除行
这是正确的方法吗?
mysql - 使用 Doctrine 在 MySQL 数据库上删除多表的语法是什么?
使用Doctrine,我试图根据从多个表中收集的数据删除单个表中的记录。
“companies_groups”是将“公司”链接到“组”的关联表。我想删除此表中链接到特定公司的所有记录,但只有链接到“公共”组的“companies_groups”记录才会被删除。
如果我用纯 SQL 编写它,它看起来像这样:
教义中的等价物是什么?我一直在挣扎和尝试一个小时左右。
目前我有这个:
(我的 Doctrine 模型是“companies_groups”表的“Company_group”和“groups”表的“Group”)
这会产生这个 SQL:
您可以看到生成的 SQL 在 DELETE 和 FROM 之间缺少“companies_groups”,并且限定符被删除(意味着“id”将不明确)。
让我知道我是否可以提供任何有用的其他信息。