mysq如何快速l删除大量数据的问题
请教下:
现在公司用的mysql数据库,里面有个记录表,大概有几千万条记录,保留了04年以来的消费记录。
现在决定只保留08年以来的,现在需要删除08年以前的消费记录,大概也是几千万条。
该表的每条记录都是有提交时间字段,datetime格式。
假设表名为a,时间字段为time
我现在想用
delete from a where time < "2008-01-01 00:00:00";
担心几千万条的记录要删除很久,不知道有没有其他好的方法。
------解决方案--------------------给TIME字段加一个索引就可以了
------解决方案--------------------explain select * from a where time < "2008-01-01 00:00:00";
结果
------解决方案--------------------如果想要删除一个表的所有行,使用TRUNCATE TABLE tbl_name 而不要用DELETE FROM tbl_name