Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#17573 closed Uncategorized (fixed)

Documentation: MySQL 5.5 switched to InnoDB as default storage engine

Reported by: Lenz Hirsch <hirsch@…> Owned by: nobody
Component: Documentation Version: 1.3
Severity: Normal Keywords:
Cc: Triage Stage: Ready for checkin
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

The Django documentation states here https://docs.djangoproject.com/en/1.0/ref/databases/#storage-engines "The default engine is MyISAM ...". This is not true since MySQL Version 5.5. InnoDB is the default now. See: http://dev.mysql.com/doc/refman/5.5/en/innodb-default-se.html

In consequence also manage.py syndb creates InnoDB tables by default.
This can lead to misleading error messages of manage.py (which is not the fault of manage.py) like:

Failed to install index for ... model: Specified key was too long; max key length is 767 bytes

Although this messages indicates the index could not be installed it is!
The index gets automatically shortened to 255 bytes and is therefore no full "covering index" but a "prefix index" which seams not to be a real performance issue.

Maybe some of these facts could be incorporated to the django documentation to help MySQL users that will tend to stumble about this error more often the more MySQL 5.5 is used.

Attachments (1)

17573-1.diff (2.3 KB ) - added by Claude Paroz 12 years ago.
Updated documentation

Download all attachments as: .zip

Change History (9)

comment:1 by Lenz Hirsch <hirsch@…>, 12 years ago

Summary: Documentation misses MySQL 5.5 switch InnoDB as default storage engineDocumentation: MySQL 5.5 switched to InnoDB as default storage engine

comment:2 by Nate Bragg, 12 years ago

Triage Stage: UnreviewedAccepted

Indeed, the dev docs say the same. The mysql docs say:

InnoDB is the default storage engine as of MySQL 5.5.5.
[...]
MyISAM is supported in all MySQL configurations, and is the default storage engine prior to MySQL 5.5.5. 

This ought to be updated.

comment:3 by Claude Paroz, 12 years ago

Has patch: set

I also fixed the section about not supporting fixtures, as the issue has been fixed for the InnoDB storage engine in 1.4.

comment:4 by Nate Bragg, 12 years ago

Patch needs improvement: set

Although perhaps a fine patch, it looks like you might have intended to upload a different one, as this one doesn't appear to address the problem.

by Claude Paroz, 12 years ago

Attachment: 17573-1.diff added

Updated documentation

comment:5 by Claude Paroz, 12 years ago

Patch needs improvement: unset

Wow :-( Sorry, now hopefully it is the good one!

comment:6 by Nate Bragg, 12 years ago

Triage Stage: AcceptedReady for checkin

Now we're talking. :)

comment:7 by Aymeric Augustin, 12 years ago

Resolution: fixed
Status: newclosed

In [17552]:

Fixed #17573 -- Documented MySQL's switch to InnoDB as default storage engine. Thanks Lenz Hirsch for the report and Claude Paroz for the patch.

comment:8 by Aymeric Augustin, 12 years ago

In [17553]:

[1.3.X] Fixed #17573 -- Documented MySQL's switch to InnoDB as default storage engine. Backport of r17552 from trunk.

Note: See TracTickets for help on using tickets.
Back to Top