SELECT a.*, c.*
FROM `products` as a
LEFT JOIN (SELECT MAX(id) as id, product from `prices` GROUP BY product) as b on b.product=a.id
LEFT JOIN `prices` as c on c.id=b.id
LIMIT 10
имел данные в таблицах MYSQL (основная имела 170 миллионов записей)
слил на еластик и на монго
еластик летел в поисках, а вот монго значительно уступал при чём надо создавать индексы для полей монго по которым текст поиск должен производиться. Для меня выбор - однозначно ElasticSearch
Если тот же емайл при логине через соцсети, то вы же получаете емайл (токен нужно валидировать через API на сервере) по которому был осуществлён логин. Ищите его в вашей таблице. Получив данные из таблицы создавайте сессию как обычно
SELECT `item_id`, ...
FROM `items_table` AS t1
LEFT JOIN `shown_table` AS t2 on t1.`item_id`=t2.`shown_id`
WHERE [сложное условие для поиска]
AND t2.`user_id`=$user_id AND t2.`item_id` IS NULL
LIMIT 1;
1. Сначала сделайте простой запрос (без авторизации) для получения произвольного кода (на сервере генерируем случайный ключ и возвращаем)
2. Полученный ключ (code) кодируем на клиенте через SHA256 (code+username+password)
3. Делаем запрос авторизации отправляя шифрованный код
4. На Сервере проверяем в базе комбинацию SHA256(ключ+полеUSER+полеPASSWORD). Если нашли - Вуаля! и убиваем ключ
Таким образом будет отправляться всегда новый код для авторизации и снифферы не уловят ваши данные.
Ответ написан
Комментировать
Комментировать
Оценили как «Нравится»
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.