我有一个数亿行数据表。我想删除表格,但是我在表格上执行的每一个操作都会在超过50,000秒(大约16小时)后失去连接,这是在数据库中设置的60,000秒超时条件下。我已经尝试用Drop Table代码创建一个存储过程,认为如果将信息发送到数据库来执行操作,它不需要连接来处理它,但它也会执行相同的操作。它只是超时?还是我需要做点别的?MYSQL表超时下降
0
A
回答
0
而不是TRUNCATE TABLE
。它在内部创建一个等效的空表,然后交换。这种技术可能需要一秒钟,即使是一张非常大的桌子。
如果要删除的表最,那么它通常更快(有时要快很多),做
CREATE TABLE new LIKE real;
INSERT INTO new
SELECT ... FROM real
WHERE ... -- the rows you want to keep
为什么你需要删除的一切吗?
对于大规模删除其他技术,包括大口吃了一个巨大的表,请参阅https://mariadb.com/kb/en/mariadb/big-deletes/
+0
我也试过TRUNCATE,但它只是运行,直到它超时。我改变了超时会话限制,并再次尝试这些方法。我正在删除,因为每次我在表上运行一个查询时,它的时间都接近原始的60,000秒。所以,我希望重新开始并将表分成更小的片段以减少查询时间。表中还有重复的信息,所以重新开始是有意义的。 –
+0
InnoDB应该“回滚”插入,如果它在完成前死亡?请提供'SHOW CREATE TABLE'。 –
相关问题
- 1. 性能下降MySql
- 2. 降表/ MySQL的
- 3. 下降excel表
- 4. MYSQL架构不断下降
- 5. MySQL的下降语句 -
- 6. MySQL Lock超时超时
- 7. 连接超时降低过程
- 8. Orbeon MySQL连接不断下降
- 9. MySQL的性能下降联接查询
- 10. MySQL,索引和“锁超时超时”
- 11. MySQL错误时,下降指数(错误150)
- 12. 当缓存MySQL结果时收益和性能下降
- 13. MySQL在大表上插入性能下降
- 14. Mysql下降表作为PreparedStatement不适用于我
- 15. mysql下降多个表使用哪里或不是像条件?
- 16. 下降
- 17. MySQL连接超时
- 18. MySQL查询超时
- 19. MySQL连接超时
- 20. MySQL连接超时
- 21. 在MYSQL中超时
- 22. 写入mysql时PHP超时
- 23. 的MySQL降152
- 24. 锁等待超时超标在MySQL
- 25. windowCount下降值
- 26. 下降与HBox
- 27. 下降分区
- 28. 弹性下降
- 29. z-index下降
- 30. Combobox下降?
也许尝试批量删除数据?根据主键或行号删除几百万行。然后,在删除所有数据后,您应该可以删除表格。 –
我会给你一个镜头,但即使运行一个简单的查询,但限制为0,10“失去连接”。 –
我想下面的代码:DELETE FROM Table_Data WHERE Company_ID LIKE'%A%'LIMIT 0,1000000;目前正在运行14小时。 –