Fixed #14231 -- Added an index to the expire_date column on the Session 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
This commit is contained in:
parent
90ac02300e
commit
ea85d4303d
|
@ -45,7 +45,7 @@ class Session(models.Model):
|
||||||
session_key = models.CharField(_('session key'), max_length=40,
|
session_key = models.CharField(_('session key'), max_length=40,
|
||||||
primary_key=True)
|
primary_key=True)
|
||||||
session_data = models.TextField(_('session data'))
|
session_data = models.TextField(_('session data'))
|
||||||
expire_date = models.DateTimeField(_('expire date'))
|
expire_date = models.DateTimeField(_('expire date'), db_index=True)
|
||||||
objects = SessionManager()
|
objects = SessionManager()
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
|
|
|
@ -165,6 +165,24 @@ To return to the previous rendering (without the ability to clear the
|
||||||
model = Document
|
model = Document
|
||||||
widgets = {'document': forms.FileInput}
|
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:
|
.. _deprecated-features-1.3:
|
||||||
|
|
||||||
Features deprecated in 1.3
|
Features deprecated in 1.3
|
||||||
|
|
Loading…
Reference in New Issue