TABLE,但是这个命令只能用来删除所有数据,
用DELETE会有高水位线的问题,比如删数据之前,查询需要10秒,用DELETE
*
删除所有数据后,再查询那个空表肯定还是10秒.另外用DELETE会造成大量日志写入,效率上肯定是慢的
如果删除表,直接DROP就行..楼上那位有一点说错了,DROP
TABLE是对
数据字典
的 *** 作,只会删除表定义,不会删数据,所以速度很快,那些数据会在其所在的
数据块
被再次写入新数据的时候覆盖掉
系统内有一只游戏日志表,每日以百万条数据增长,过段时间需要按照日期清理数据。同事使用delete循环删除过一次,时间久不说,表中的数据是删除了,但是查看服务器发现,*.idb文件大小居高不下,使用optimize table 表名 , 优化表以后,内存大小恢复正常。前前后后花费将近4个小时的时间。效率比较低,偶然想起TRUNCATE TABLE,决定使用以下方案,结果10分钟内,清除3千多万条废弃数据。记录以下,已备下次使用。
按以上步骤,可以解决锁表问题。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)