请教mysql innodb下delete *** 作巨慢的情况

请教mysql innodb下delete *** 作巨慢的情况,第1张

您好,我觉得删除 *** 作巨慢的原因可能有以下几个:

1、删除的条件判断占用了很久,比如删除的条件用不到任何索引且不是主键。

2、删除的表中建立了索引而且数据量比较大,每次删除都要更新很多索引信息。

3、可能单纯的删除的数据量比较大。

4、可能数据库同时在执行其他消耗很大的 *** 作。

删除数据很慢。实在没有办法的话,你可以把删除命令写成sql,然后用数据库命令行工具进行删除,要快速很多倍。比如mysql,用它的命令行比自己删除要快,比批量commit还要快很多。

添加数据与删除数据都可以这么做。直接用sql比通过关系对象模型要快。的确删除几万,几十万条记录比添加数据要慢很多。这在mysql上比较明显。

如果对数据处理效率要求很高,可以将这部分数据缓存到memcached里,再删除就很快了。就象是硬盘前加一个SSD盘一样。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9710341.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存