Aryeh Gregor wrote:
There are various differences, yes. For instance, TEXT rows can't exist in MEMORY tables, so they force filesorts to go to disk (if the row contents are being explicitly sorted instead of just row pointers, anyway). If we upgraded to MySQL 5, we could use VARBINARY(65535) instead. For the time being, I suspect the performance problems would be tolerable: it's not like we're searching or indexing these, we're just retrieving them for results.
As I said, think article names (and by extension page names in general), or namespaces and usernames for that matter (well, ok, I expect namespaces are pretty much abstract, but usernames are still relevant). I haven't looked this up in the code, but if there's any sanity left in this world I hope all significantly expensive operations on those fields are performed by the DBMS (as opposed to PHP caches and the like). In which case any and all optimization options/alternatives/hacks become relevant.
Gutza