Да, индексы, конечно, есть. Скорость устраивает, обновляется не часто.
Было бы, конечно, хорошо убрать избыточность совсем, но получается долго..
Работает тем дольше, чем больше offset, и на конец таблицы (offset 150000) выполняется 1.28 сек, когда как в начале моментально. Может, это можно побороть?
ID - первичный, уникальный ключ в t1 и простой ключ в t2
Итак..
Таблица в 150к.
Вариант с двумя селектами работает по 4.2сек на каждый селект (т.е. около 8 суммарно)
Вариант siv1987 с update с join 5.57 сек
Вариант ivan-lev с replace самый долгий - 11.74 сек, что не удивительно - он делает DELETE+INSERT. К тому же с ним возникает, в принципе, решаемая проблема в несоответсвии колонок (в реальной таблице есть дополнительные)
Вариант doctorpc не работает, так как во втором вложении ему неоткуда знать о первой таблице: Unknown column t1.id in 'where clause', поэтому его протестировать не удалось.
Однако кое-что новое из этого всего вынес. Спасибо
Да, да, я уже заметил. Исправил выше, но вы опередили
Правильный запрос:
update t1 set max_price=(select max(price) from t2 where id=t1.id)
но не поддерживает group by.
Структура такая:
t1
-----------------
id | min | max
1 2 4
2 2 5
3 1 6
t2
id | price
1 2
1 4
1 3
2 4
2 5
id в таблицах - общее
При этом мой запрос
Делает ровно то, что надо, но только для поля max (и min отдельно) благодаря выделенному фрагменту (каждую строку по id, а не все строки, ivan-lev)
UPD: да, прошу прощения, там опечатка была (правильно красным)
C select'ом пробем нет. Проблема с update. Я могу достать 2 поля одним запросом, но как их скормить update'у?
Тоесть выкинув 90% ненужных букв из вашего поста имеем следующий не работающий запрос, я правильно понял?
Если да, то "==" поменять на "=" и убрать кавычки (или поставить нормальные - `) вокруг 'is_published'
Видимо, вы еще недоучились немного..
Слова "движёГ" в русском языке действительно нет. Однако, слово "движок" вполне себе существует.
Советую обратить внимание на вводные слова в предложении и правописание местоимений. У вас с этим тоже проблема.
Вам, конечно, этого никто не запретит.. Продолжайте в том же духе.
Видимо, много поленился. Миллион тем находится по слову "магазин".
P.S. и да, загляните сюда
JavaScript, например
Все что находится за символом # является якорем и работает исключительно в броузере (не передается на сервер). Поэтому способа отследить этот адрес на сервере не существует.