Why dont you create a new table where id < 2474,
rename the original table to "_old" and the new table to actual table name.

or
You need to write a stored proc to loop through rows and delete, which will
be faster.

Doing just a simple "delete" statement, for deleting huge data will take
ages.

regards
anandkl

On Fri, Nov 4, 2011 at 12:52 PM, Adarsh Sharma <adarsh.sha...@orkash.com>wrote:

>
> Dear all,
>
> Today I need to delete some records in > 70 GB tables.
> I have 4 tables in mysql database.
>
> my delete command is :-
>
> delete from metadata where id>2474;
>
> but it takes hours to complete.
>
> One of my table structure is as :-
>
> CREATE TABLE `metadata` (
>  `meta_id` bigint(20) NOT NULL AUTO_INCREMENT,
>  `id` bigint(20) DEFAULT NULL,
>  `url` varchar(800) DEFAULT NULL,
>  `meta_field` varchar(200) DEFAULT NULL,
>  `meta_value` varchar(2000) DEFAULT NULL,
>  `dt_stamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
>  PRIMARY KEY (`meta_id`)
> ) ENGINE=InnoDB AUTO_INCREMENT=388780373 ;
>
>
> Please let me know any quickest way to do this.
> I tried to create indexes in these tables on id, but this too takes time.
>
>
>
> Thanks
>
> --
> MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql
> To unsubscribe:    
> http://lists.mysql.com/mysql?**unsub=anan...@gmail.com<http://lists.mysql.com/mysql?unsub=anan...@gmail.com>
>
>

Reply via email to