Hi Matt, thanks for answezring! > A disk-based temp table is used if you're SELECTing a column [that can > be] longer than 255 characters (BLOB/TEXT to MySQL). This is because the > in memory HEAP tables don't currently support variable length rows. > Using something like LEFT(text_col, 255), if feasible, will get around > this problem.
OK I'll try this out. My SELECT Looks like : SELECT *, CONCAT(someField, 'µZ') As myTemporaryField FROM blablabla... Could it be that mysql prefers to assume that myTemporaryField could be more than 255 characters, event if it is never the case? (the myTemporaryField is there to order my results ascendently, with Null values beeing placed at the end, but maybe there is a better solution for this?) > Also could be disk based if the query examines many rows (large temp > table), but your tmp_table_size would probably cover that. I think it does. The explain gave me less than 2000 rows scanned (2000 * 1 * 1 * 1) > BTW, 512M is very, very high for tmp_table_size! Do you have enough > memory for 512M * number of connections? :-) Yes I know this is some crazy setting, but it is just there for testing purpose. I am the only user of this server, and since I couldn't find the reason for this disk tables, I tried some 'huge' settings... ;-) Thanks again for helping! Arnaud -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]