Change VARCHAR keys to SMALLINT
|Reported by:||mikeschinkel||Owned by:|
Back in 2.4 all ENUMs where changed to VARCHAR(20) for reasons of portability(FN1). That move addressed an abstract concern while introducing two (2) tangible concerns: 1.) bloating of indexes and 2.) reduction of scalability. This is especially a concern as the discussion for adding meta data for more types (i.e. links, comments, etc.) has the potential to add more meta records.
Personally I'd really like to see a move back to ENUMs (which are an excellent feature of MySQL) but failing that I'd recommend we add a wp_meta table with fields ID (smallint) and Name (varchar(255)) and use smallint foreign keys linking to wp_meta whereever varchar(20) keys are currently used. One or the other solution addresses these concerns, but status quo does not.
FN1 - While the portability concern probably seemed like a good idea at the time it appears the concern may be little more than academic (FN2,FN3) especially considering how few plugins or themes would work with other databases.
Change History (4)
- Keywords dev-feedback 2nd-opinion added; enum keys portability mysql meta relational removed
- Milestone changed from Unassigned to Future Release
- Type changed from enhancement to feature request
- Version set to 2.9
- Component changed from General to Database
- Milestone Future Release deleted
- Resolution set to wontfix
- Status changed from new to closed