Permalink
Browse files

Fixed #14231 -- Added an index to the expire_date column on the Sessi…

…on model. Thanks to joeri for the report, via Frodo from Medid.

This won't affect any existing session tables; see the release notes for migration instructions.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@14378 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
freakboy3742 committed Oct 28, 2010
1 parent 90ac023 commit ea85d4303d9b58704ebdea5b88bbd0dbfd6ab30c
Showing with 19 additions and 1 deletion.
  1. +1 −1 django/contrib/sessions/models.py
  2. +18 −0 docs/releases/1.3.txt
@@ -45,7 +45,7 @@ class Session(models.Model):
session_key = models.CharField(_('session key'), max_length=40,
primary_key=True)
session_data = models.TextField(_('session data'))
expire_date = models.DateTimeField(_('expire date'))
expire_date = models.DateTimeField(_('expire date'), db_index=True)
objects = SessionManager()
class Meta:
View
@@ -165,6 +165,24 @@ To return to the previous rendering (without the ability to clear the
model = Document
widgets = {'document': forms.FileInput}
New index on database session table
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Prior to Django 1.3, the database table used by the database backend
for the :doc:`sessions </topics/http/sessions>` app had no index on
the ``expire_date`` column. As a result, date-based queries on the
session table -- such as the query that is needed to purge old
sessions -- would be very slow if there were lots of sessions.
If you have an existing project that is using the database session
backend, you don't have to do anything to accommodate this change.
However, you may get a significant performance boost if you manually
add the new index to the session table. The SQL that will add the
index can be found by running the :djadmin:`sqlindexes` admin
command::
python manage.py sqlindexes sessions
.. _deprecated-features-1.3:
Features deprecated in 1.3

0 comments on commit ea85d43

Please sign in to comment.