It turned out that the easiest and most effective way to handle it was to run this script at an off peak time:
http://djangosnippets.org/snippets/1273/ Not really sure how long it actually took to ran (I should have timed it...), but it was less than 2 and a half hours on 40+ million records. On Aug 23, 12:17 am, bfrederi <brfrederi...@gmail.com> wrote: > When I attempt to run a normal cleanup, the cleanup eventually loses > connection to the database and dies. I think I am going to have to > take the manual approach. > > One thing that I wanted to point out is that I think you meant the SQL > equivalent is: > > DELETE FROM django_session WHERE expire_date < '2010-01-01 1:23:45'; > > It should be less than, I believe. But that is very helpful, and I > will need to use that to clean up the session table manually. > > On Aug 20, 8:44 pm, Russell Keith-Magee <russ...@keith-magee.com> > wrote: > > > On Fri, Aug 20, 2010 at 11:51 PM, bfrederi <brfrederi...@gmail.com> wrote: > > > I just wanted to know if anyone had an opinion or whether running a > > > django-admin.py cleanup on 40 million session rows might slow down or > > > lock up the database. I would like to do this cleanup ASAP, but I was > > > concerned it might cause some issues. > > > It depends entirely on your database. If you're using MySQL with > > MyISAM tables, then almost certainly yes due to the table-level > > locking. Other databases may be affected for different reasons. > > > If you're trying to evaluate the risk, the cleanup command executes > > the following: > > > Session.objects.filter(expire_date__lt=datetime.datetime.now()).delete() > > > Which is the SQL equivalent of: > > > DELETE FROM django_session WHERE expire_date > '2010-01-01 1:23:45'; > > > inside a the default transaction mode for your database. You'll have > > to consult your database documentation to establish whether that will > > pose a locking risk. > > > Yours, > > Russ Magee %-) -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-us...@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.