Здравствуйте. Надо сделать сортировку выдачи по сумме сложения двух колонок. Скажите пожалуйста, какой из следующих двух запросов будет более производительный:
Здравствуйте. В MySQL есть такое понятие как индексы.
Если я правильно понимаю (где неправ - немедленно поправьте пожалуйста)) ), то если по полю идет поиск, или поле присутствует в условии WHERE - то в обязательном порядке на него надо поставить индекс - это сильно помогает в производительности. Допустим поставили индекс на несколько полей, и потом по ним без проблем можно искать с помощью LIKE, ставить в WHERE, WHERE IN и т.д.
А вот что такое объединенные индексы? Чем они помогают?
(В phpmyadmin - при создании индекса для какого-нибудь поля можно добавить еще несколько полей к этому индексу...)
Мелкий, спасибо, в жизни бы к такому запросу не пришел. Да, item_id и param_name уникальны. Но насколько я знаю IN использовать не рационально (по быстродействию), как можно изменить структуру, чтобы можно было подобные запросы легко делать?
Здравствуйте. Допустим есть две таблицы, одна с товарами, другая с параметрами к этим товарам:
1) Items : item_id | item_name | item_price | ...
2) Params : item_id | param_name
Как выбрать товары с указанным параметром - понятно:
не сработает, так как оно подразумевает что и 'белый' и 'красный' должны быть в одной строке а не в разных.
В общем подскажите пожалуйста запрос с помощью которого можно выбрать все товары с несколькими указанными параметрами.
Большое спасибо.
DeepVarvar, жалко у вас тут нет смайла который бьется головой об стену... (Добавление)
)) (Добавление)
А идеальное решение существует, так сказать, чтобы без недостатков? Даже если придется попариться...
Блин, я вас не понимаю. Есть открытая сессия. Пользователь запрашивает страницу с формой. Я ему генерирую ключ, и записываю этот ключ в сессию под ключем "form_key". Каждый раз при новом запросе я его заменяю на новый, верно?
Если да, то:
Есть пользователь. Он открывает три страницы форума в разных вкладках (я к примеру почти всегда так делаю). Получается что ключ для отправки сообщения будет валидный только для последней открытой вкладки, т.е. пользователь НЕ сможет ответить в двух предыдущих вкладках, так как ключ в этих формах уже НЕ действителен (он перезаписан последним ключем, т.е. тем, который находится в последней вкладке браузера).
Я правильно понимаю??
Чисто случайно я угоняю этот статический ключ и CSRF'лю пользака как хочу.
Ну "чисто случайно" угнать этот ключ - равносильно полному взлому компьютера, тут уже мало что поможет. armancho7777777, DeepVarvar, спасибо.
Всем спасибо.
Последний вопрос, допустим таки я буду генерировать токены.
В кукисах хранить - не хочу (потому что там можно хранить только одно значение, точнее можно много, но так делать не стоит).
В бд - не стоит, как уже выяснили.
Остаются сессии. Собственно вопрос:
Допустим на каждой странице (а-ля форум) будет присутствовать форма. Для каждой формы генерируется ключ который сохраняется в сессии. И что, в сессии необходимо хранить столько ключей, сколько было открыто раз форм? Т.е. если пользователь обошел 100 страниц (на которых присутствовала форма), то мне хранить 100 ключей, и потом среди них искать?
imediasun, если я правильно понял, то вы все сделали правильно, только ???? надо заменить на $value2[0] и $value2[1] соответственно.
Т.е. должно выйти так: