> > > Part of me agrees with you, on a "Pure SQL level". but then why would
> > > anyone ever use ENUM or SET?
> >
> > I wouldn't :-)
> >
> > IMO, they're abominations that are to be avoided.
>
> Again, part of me agrees with you.  But part of me, particularly the
> part that says "our queries need to be optimized as much as possible,
> so our customers will be happy," thinks that ENUM and SET are
> non-standard, MySQL specific ways to create normalized data without
> having an extra table, and thus an extra join, and thus more
> computation, and thus a slower query.

That's wrong, if you use "set", the data isn't normalized cause you're
storing multiple values in a column.

> Tell me, do you also create your own sequences in MySQL instead of
> using the AUTO_INCREMENT feature?  Because that, too, is an
> abomination in the same way.

One way to do it is to create an auto-inc table, but this is besides
the point for ENUM/SET.

> I use ENUM a lot, successfully, and when I want to add another ENUM
> value to a table (I never delete one), I have a script that runs a
> show table, gets the ENUM field in question, gets all the values, and
> alters the table modifying the column with the correct values (all the
> current values + the new one).  I've never had a problem with it yet
> (knock wood).

In other words: modifying metadata to adjust the system for data
requirements ;-) ... This also means there's no easy way to automate
this.

--
Martijn Tonies
Database Workbench - tool for InterBase, Firebird, MySQL, Oracle & MS SQL
Server
Upscene Productions
http://www.upscene.com
Database development questions? Check the forum!
http://www.databasedevelopmentforum.com


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to