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]

Reply via email to