Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Один лишний запрос или все в куче (оптимизация)? / 6 сообщений из 6, страница 1 из 1
30.05.2016, 23:14
    #39246585
aliskin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Один лишний запрос или все в куче (оптимизация)?
При любых обращениях к бд в коде проверяется СИСТЕМНЫЙ статус пользователя (не заблокирован ли он на сайте администрацией сайта).

ПЕРВОЕ:
Можно делать один ОТДЕЛЬНЫЙ простой запрос и далее решать разлогинить пользователя и вывести сообщение о том что он заблокирован ИЛИ далее продолжить работу (обработку).


ВТОРОЕ:
В запросе, например, на вывод инфоПрофиля пользователя вместе с join`ом получать системный статус пользователя и сначала обрабатывать статус, а потом принимать решение что делать с пользователем и данными полученными в этом запросе.

Плюсы первого способа: Легкость реализации, минимизация нагрузки на бд, экономия байтов (байты перерастают в килобайты, кбт в мегабайты, мгб в гигабайты).

Минусы первого способа: Я вижу только один минус - лишний ЗАПРОС, не коннект, а именно запрос к бд.

Плюсы второго способа: не вижу. (или не хочу видеть).

Минусы второго способа: Чуток усложненные запросы к бд, чуток сложнее обработка статуса (хотя имеено в обработке статуса нет никакой сложности, сложность скорее состоит в получении этого самого статуса из бд). Лишний трафик.

Что значит "усложнение кода" во втором варианте: нужно исправлять, дописывать, переписывать некоторые запросы чтобы вместе с данными получать статус пользователя.

А если следовать первому способу, то пишу всего лишь одну функцию и включаю ОДНУ строчку в функцию проверки состояния кук (включены ли куки) у клиента. Все.

Я скорее всего буду реализовывать первый способ. Кто что думает об этом?
...
Рейтинг: 0 / 0
30.05.2016, 23:31
    #39246594
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Один лишний запрос или все в куче (оптимизация)?
Пользователь в данном случае - не учётная запись сервера MySQL, а просто абстрактная запись некоей внутренней таблицы БД?
Ну коли так - то при начальной аутентификации либо открывайте сессию и волоките её за собой, либо давайте отлуп...
...
Рейтинг: 0 / 0
30.05.2016, 23:49
    #39246600
aliskin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Один лишний запрос или все в куче (оптимизация)?
Заблокирован системой - простой пользователь забанен на сайте модератором или администратором.
...
Рейтинг: 0 / 0
30.05.2016, 23:51
    #39246602
aliskin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Один лишний запрос или все в куче (оптимизация)?
AkinaПользователь в данном случае - не учётная запись сервера MySQL, а просто абстрактная запись некоей внутренней таблицы БД?
Ну коли так - то при начальной аутентификации либо открывайте сессию и волоките её за собой, либо давайте отлуп...
То есть ПЕРВЫЙ вариант более предпочтительней?
...
Рейтинг: 0 / 0
31.05.2016, 07:31
    #39246656
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Один лишний запрос или все в куче (оптимизация)?
Первый способ проще и экономичнее. Кроме того, пользователь может проявлять активность несколько раз в минуту, а блокировка учётной записи администрацией - штука довольно редкая. В этом смысле в ряде случаев можно вообще обойтись без дополнительного запроса к БД, если, например, некоторое время хранить статус пользователя в мемкеше.
...
Рейтинг: 0 / 0
31.05.2016, 14:07
    #39247188
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Один лишний запрос или все в куче (оптимизация)?
aliskinМинусы первого способа: Я вижу только один минус - лишний ЗАПРОС, не коннект, а именно запрос к бд.


Нет тут никакого минуса.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Один лишний запрос или все в куче (оптимизация)? / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]