проверьте на локальном хосте. Движок MyIsam не может быть быстрей(ладно намного быстрей) чем InnoDB. Скорей всего это "кривая" настройка или слабое железо, мало памяти
Тот эксплейн, видно же что он не совсем тот. Ну не может быть при таком эксплейне время 33 секунды.( там что индусы вручную сортируют?) Ну да 15 left join, но это не не так критично.
Там либо правда очень медленное железо, но это просто проверяется. Либо кто-то кого-то обманывает
Сам по себе запрос не страшен. Тяжел но не страшен. Не надо бояться join-ов.
Сфинкс здесь вообще причем? Денормализация тоже вряди, видно же что это движок какой-то. Что тут денормализуешь? Мелкие запросы это да возможно ... .
type_id хорошо отсекает там всего 3 записи.
1) создайте таблицы из дампа.
2) XML через парсеры вставьте тоже в БД
И если я правильно понимаю, получите "старые" цены и новые, а там уже запросами сравнивайте.
Все достаточно просто, но придется поменять тип столбика на datetime. И при сохранении проверять если время начала работы > окончания, то сохранять как 0000-00-01 01:00:00
Т.е у Вас получится следующий вид
ID | timestart | timeend
1 | 0000-00-00 12:00 | 0000-00-00 23:00
2 | 0000-00-00 09:00 | 0000-00-00 22:00
3 | 0000-00-00 12:00 | 0000-00-01 01:00
А в запрос будет подставлять
$now='0000-00-00 '.date("G:i:s");
$sql = "SELECT * FROM `mesta` WHERE `timestart` <='$now' AND `timeend`>='$now'";
По идее все должно работать
Давайте я попробую Вам объяснить на примере "новой" темы форума.
Итак, пользователь создает тему. При создании темы создается запись в БД (допустим id = 25).
У форума есть страница показать все темы.( там показывается название темы и ссылка на саму тему)
А-ля запрос( это просто для примера, м.б быть условия сортировка и т.д и т.п)
в этот момент файлы уже "добавлены в форму". Это происходит моментально. Тут не нужна полоса загрузки. Другое дело, что в этот момент иногда делают превью загруженных изображений. и вот тут картинка в фоне загружается на сервер, генерится превьюшка и отображается под формой. На время этого процесса делают полосу загрузки.
Кстати, если это позволяет ТЗ(по поддержке браузеров) лучше это делать на клиенте
Тот же гугл, скажет взять библиотеку jQuery с CDN.
По поводу аргументов, прикрутят для сообщений wisiwig( скедитор какой-нибудь), а вот зачем его грузить не авторизованному пользователю с режимом read-only?