My sql error: Lock wait timeout

Hello,

I have this application where there are 5 tables.

I have the :dependent => :destroy clause in such a way that if an entry in the first table is deleted all the "dependent" entries in the next 4 tables are also destroyed.

The issue is there are thousands of entries in the tables and this is taking a lot of time and I get a mysql error:

Mysql::Error: Lock wait timeout exceeded; try restarting transaction

Because of this I am not able to destroy an entry.

I tried increasing the lock wait timeout time in the mysql configuration file. But still no improvement.

Any help would be appreciated.

Thanks.

Do you have the correct indexes set on the tables? It sounds like you need to make the the delete operation far faster.