暂无图片
请问下 MYSQL 删除一个大表 哪种方法比较快而上锁少,并对从库影响少? 1 直接DROP TABLE TABLE_A 2 先TRUNCATE TABLE TABLE_A, 然后DROP TABLE TABLE_A ?
我来答
分享
快go💨
2021-08-14
请问下 MYSQL 删除一个大表 哪种方法比较快而上锁少,并对从库影响少? 1 直接DROP TABLE TABLE_A 2 先TRUNCATE TABLE TABLE_A, 然后DROP TABLE TABLE_A ?
暂无图片 5M
请问下 MYSQL 删除一个大表 哪种方法比较快而上锁少,并对从库影响少? 1 直接DROP TABLE TABLE_A 2 先TRUNCATE TABLE TABLE_A, 然后DROP TABLE TABLE_A ?
我来答
添加附件
收藏
分享
问题补充
5条回答
默认
最新
cqiwen
这两种方式都很快。
暂无图片 评论
暂无图片 有用 0
打赏 0
薛晓刚

没什么区别,你只要不是delete就行。
你操作期间没有去访问这个表,就不会有锁。

暂无图片 评论
暂无图片 有用 0
打赏 0
Samson

没有必要truncate

可以看下row_truncate_table_for_mysql函数,下面有很详细的备注

暂无图片 评论
暂无图片 有用 0
打赏 0
杨明翰

直接drop,确保操作时该表无业务访问; 如数据量较大可以将ibd文件做个硬链接。

暂无图片 评论
暂无图片 有用 0
打赏 0
柯墨

多加一次truncate只有坏处没有好处,8.0版本前用truncate还有几率触发bug

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
Mysql 5.7 , 能在 insert 临时表 select 这里用 快照读 么?
回答 1
sql比较复杂,然后还高并发这个前提有点不科学。微信支付宝之所以高并发是因为场景简单。如果业务场景复杂,一百多个步骤,流程几分钟。谁也不能保证他高并发还没有问题。
请教,在阿里MySQL数据库规约中:【推荐】in 操作能避免则避免,若实在避免不了,需要仔细评估 in 后边的集合元素数量,控制在 1000 个之内。
回答 2
有一个参数了解一下。8.0之前默认是10,8.0后是200 影响的就是in 个数太多后的执行计划
mysql5.7.17初始化求助
回答 1
在dos里面登录进去,按照一下方式自动目录配置文件bin\mysqlddefaultsfileC:\mysql\my.iniinitializeinsecureconsole把执行的命令,截图出来共享
mysql中的binlog时间格式是?
回答 3
2104222:18:072021042202:18:07
mysql查询百万条数据耗时太高,有什么优化的方法吗?
回答 3
已采纳
1、建索引2、优化sql,用上索引3、机械盘换ssd,加快io4、加大内存参数,缓存更多的表
mysql xa 一致性疑问
回答 3
我理解也是mysqlxa处理不了,其他分布式数据库就不知道了
MySQL5.7 不能通过127.0.0.1登录,而可以localhost登录 等问题总结
回答 2
可以增加一个127.0.0.1这个IP的授权
页面上的实时搜索速度较慢(MySQL InnoDB)
回答 1
已采纳
把sql改写下,子查询提上去
mysql中,多个时间数据相加得到了一个数字,这个数字是和分钟什么关系?
回答 2
没有直接关系,就是把时间转成数字求和,例如:mysql>selectnow()now(),round((now()now())/2),now();|now()now()|round((now()
MySQL 怎么在一个过程里用变量或者临时表接收另一个过程select的表?
回答 1
可以利用递归存储过程,一个简历临时表存储需要的数据,一个利用临时表操作。或者直接在过程里面调用另一个过程