首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

mysq怎么快速l删除大量数据的有关问题

2012-02-11 
mysq如何快速l删除大量数据的问题请教下:现在公司用的mysql数据库,里面有个记录表,大概有几千万条记录,保

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

热点排行