<cut>
jim> Good to hear from you!
jim> I am sure that the select didn't kill the table. What was happening was
jim> that when any ORDER BY was done on a field declared as TEXT, the child
jim> server would die--note that whether the server was running on either a
jim> separate box than the database or on the same box as MySQL, the query
jim> would kill the server process.
ok
jim> I can't pin down either the INSERT or UPDATE transaction that did.
jim> How would you like me to deliver the files--they're around 650M? I have
jim> them on a hard drive ready to ship to you. Please let me know a mailing
jim> address and preferred shipment method from the US (UPS?).
Ordinary mail is ok.
You can mail this to:
Michael Widenius
TCX DataKonsult AB
BOX 6434
11382 STOCKHOLM, SWEDEN
jim> We will most likely skip 3.22.26 and wait to go to 3.23.x.
Before shipping it; Could you test if this works with 3.23.x ?
jim> For the record, we've been running MySQL for over a year, we have around
jim> 10 million rows in various tables. This is the _only_ time that we have
jim> ever had a runtime error on MySQL that wasn't disk space related. What a
jim> fantastic product!
Thanks.
Another note: If you sort by a BLOB/TEXT, mysql will need temporary
space for 2 files of ('max_sort_length'+4)*number_of_matching_rows. With 4
million rows, we are talking about 2 files of 4G and this RedHat 5.2
can't handle!
In MySQL 3.23 you can do instead:
SELECT
*
FROM
x
WHERE
x1='string1' AND
x6=0 AND
x5='string2'
ORDER BY
left(x3,128);
To only sort on the first 128 bytes of x3. This will use MUCH less
temporary space.
At any rate; MySQL 3.22 shouldn't die. It should end with a nice
error message that the temporary file got 'full'.
Regards,
Monty