[drupal-devel] MySQL ENUM vs. TINYINT (possible performance boost?)

Angie Byron drupal-devel at webchick.net
Sat Oct 15 21:16:44 UTC 2005


I was dinking around in PHPMyAdmin today and noticed this thing called "Propose 
table structure" which runs:

SELECT *
FROM `tablename`
PROCEDURE ANALYSE ( )

...and attempts to discover the most optimal fieldtype for each field, based on 
the data it's currently storing.

You'll notice there are ENUMs just about everywhere. And a lot of its output is 
largely irrelevant. For example, in the watchdog table it recommends as the 
hostname field:

ENUM('127.0.0.1') NOT NULL

Which obviously would not be good. :P

However, we do have a lot of TINYINT fields that are only ever going to store 
either 0 or 1, which could be changed to ENUM('0','1') NOT NULL as the analyzer 
recommends.

Any MySQL gurus who could shed some more light on this? Is it worth doing? Would 
we gain any performance benefit from this or would it be too negligible to notice?



More information about the drupal-devel mailing list