Вроде как в [mysqld]. А select_limit действительно такого нету, это похоже опция компиляции. По ссылке только про max_join_size.
Вот 32битной убунте 5.0.67-0ubuntu6 ничего подобного не наблюдаю, max_join_size действительно 2^64 но не ругается. Может вы апгрейд делали через CD и там старые версии ? я бы сохранил файлы и попробовал бы полностью удалить-поставить все пакеты (их там 6 штук что-ли) mysql заново и обновленные версии из инета.
На самый крайний случай поставьте вон ourdelta http://nerdvana.us.mirror.ourdelta.org/deb/dists/lenny/ourdelta/. Она точно новая и хорошая.
пишут что баг http://bugs.mysql.com/bug.php?id=35346.
Надо заполнить эти значения чем-то адекватным в конфиге и перестанет ругаться.
view и есть по сути вложенный запрос. просто создайте несколько view на этих подзапросах.
да и второй вариант попробуйте. по сути это развернутый view
Пора вам почитать про представления в mysql 5 (view) и про то как их обновляют.
для начала сойдет и хабр http://habrahabr.ru/blogs/mysql/47031/
есть ограничения :
Соответствие 1 к 1 между строками представления и таблиц, на которых основано представление, т.е. каждой строке представления должно соответствовать по одной строке в таблицах-источниках.
Поля представления должны быть простым перечислением полей таблиц, а не выражениеями col1/col2 или col1+2
Если удастся добиться выполнения условий, будет удобно и красиво.
но это общие слова в случае сложных условий. view позволяет удобно оперировать сложными фактами.
вам сейчас кажется подойдет что-то вроде:
update table1 join (select a,b from table2) table2 on table1.a=table2.a
set table1.a=table1.a+table2.b;
выложите дамп и кто-нибудь поможет конкретный запрос написать. реконструировать таблицы по описанию страшно неудобно.
49Гб памяти на VPS ? o_O остальные показатели наверняка тоже не соответствуют действительности.
нет уж, начните спрашивать с хостера.
Этим они хотели показать вам бесполезность опросов в маркетинговых исследованиях.
Покупают совсем не то о чем говорят.
ну это не обязательно. LA бывает большое если какие-то сетевые приложения работают нетипичные.
Хотя здесь, скорее всего, диски на реальной машине перегружены и простейшие операции приводят к постоянному висению процесса в состояния ожидания, а это влияет на LA.
непонятно какой был смысл, но похоже так :
SELECT *FROM `offers`WHERE `brandid` IN ( SELECT `id` FROM `brands` WHERE `name` = 'Canon' ) AND ( LOWER(`name`) LIKE '%powershot%' OR LOWER(`desc`) LIKE '%powershot%' ) AND ( LOWER(`name`) LIKE '%g10%' OR LOWER(`desc`) LIKE '%g10%' )
спонсор форматирования кода бесплатная программа dbForge Studio
Явный джоин не нужен, алгоритм объединения сам появится.
1. Найти узкое место.
2. Устранить.
3. Перейти к пункту 1.
OReIlly.High.Performance.MySQL.Second.Edition.Jun.2008.eBook-DDU.pdf
OReilly.High.Performance.Web.Sites.Sep.2007.pdf
На русском можно найти кусочки-советы, но нигде они не сложены в одну книжку.
Понимаю, что звучит издевательски, но тут либо вы платите, либо теряете время изучая литературу и практические приемы. Вы сейчас источник нагрузки даже не локализовали. Большинство советов будут бесполезны.
Если владелец такой умный, то почему сам не напишет?
Что-то вы не с того конца подходите, похоже. Ну будет чуть побыстрее. Расход памяти поменьше.