Brim.ru, вот именно. Вы видите разницу между Errcode: 17 и Errcode:28 ? Я - да.
Brim.ru, ну код ошибки операционной системы другой. изучайте документацию,а то не дай бог и на вашем сервере такое случится.
например, номер 28 No space left on device
Brim.ru, нет, при переполнении диска будет другая ошибка. нет, join не обязательно использует временный файл. там все тоньше.
да никак. если не сможет - переезжайте. это ведь shared или mysql под вашим управлением?
теоретически вы можете оптимизировать запросы чтобы не использовали сортировку в файл,но очень уж хлопотно получится.
Предлагаете научить вашего хостера бизнесу?
Вариантов масса. 17 ошибка это EEXIST File exists. Вероятно следует почистить каталог /tmp
Или, если у него несколько копий mysql, как-нибудь растащить временные файлы по разным папкам.
В любом случае ошибка не в ваших скриптах
toxic steel, да вы затейник.
select * from t where v = 128+ ( select min(abs(v-128)) from t where v != 128) limit 1;
но опять же, это чисто как упражнение на подзапросы и школьный курс математики. mysql очень прямолинеен и не догадается найти ближайшую по индексу строку. если есть индекс по значению v получится немного быстрее.
по-прежнему лучший запрос уже озвучили во втором сообщении.
select .. where v != 128 order by abs(128-v) limit 1;
Но зачем? это всегда будет тормозить.
maxnebo, терпением? давно поставили?
Подскажу почитать хелп здесь
и здесь
немного подумать и соорудить бб-код