|
|
|
Один лишний запрос или все в куче (оптимизация)?
|
|||
|---|---|---|---|
|
#18+
При любых обращениях к бд в коде проверяется СИСТЕМНЫЙ статус пользователя (не заблокирован ли он на сайте администрацией сайта). ПЕРВОЕ: Можно делать один ОТДЕЛЬНЫЙ простой запрос и далее решать разлогинить пользователя и вывести сообщение о том что он заблокирован ИЛИ далее продолжить работу (обработку). ВТОРОЕ: В запросе, например, на вывод инфоПрофиля пользователя вместе с join`ом получать системный статус пользователя и сначала обрабатывать статус, а потом принимать решение что делать с пользователем и данными полученными в этом запросе. Плюсы первого способа: Легкость реализации, минимизация нагрузки на бд, экономия байтов (байты перерастают в килобайты, кбт в мегабайты, мгб в гигабайты). Минусы первого способа: Я вижу только один минус - лишний ЗАПРОС, не коннект, а именно запрос к бд. Плюсы второго способа: не вижу. (или не хочу видеть). Минусы второго способа: Чуток усложненные запросы к бд, чуток сложнее обработка статуса (хотя имеено в обработке статуса нет никакой сложности, сложность скорее состоит в получении этого самого статуса из бд). Лишний трафик. Что значит "усложнение кода" во втором варианте: нужно исправлять, дописывать, переписывать некоторые запросы чтобы вместе с данными получать статус пользователя. А если следовать первому способу, то пишу всего лишь одну функцию и включаю ОДНУ строчку в функцию проверки состояния кук (включены ли куки) у клиента. Все. Я скорее всего буду реализовывать первый способ. Кто что думает об этом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2016, 23:14 |
|
||
|
Один лишний запрос или все в куче (оптимизация)?
|
|||
|---|---|---|---|
|
#18+
Пользователь в данном случае - не учётная запись сервера MySQL, а просто абстрактная запись некоей внутренней таблицы БД? Ну коли так - то при начальной аутентификации либо открывайте сессию и волоките её за собой, либо давайте отлуп... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2016, 23:31 |
|
||
|
Один лишний запрос или все в куче (оптимизация)?
|
|||
|---|---|---|---|
|
#18+
Заблокирован системой - простой пользователь забанен на сайте модератором или администратором. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2016, 23:49 |
|
||
|
Один лишний запрос или все в куче (оптимизация)?
|
|||
|---|---|---|---|
|
#18+
AkinaПользователь в данном случае - не учётная запись сервера MySQL, а просто абстрактная запись некоей внутренней таблицы БД? Ну коли так - то при начальной аутентификации либо открывайте сессию и волоките её за собой, либо давайте отлуп... То есть ПЕРВЫЙ вариант более предпочтительней? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2016, 23:51 |
|
||
|
Один лишний запрос или все в куче (оптимизация)?
|
|||
|---|---|---|---|
|
#18+
Первый способ проще и экономичнее. Кроме того, пользователь может проявлять активность несколько раз в минуту, а блокировка учётной записи администрацией - штука довольно редкая. В этом смысле в ряде случаев можно вообще обойтись без дополнительного запроса к БД, если, например, некоторое время хранить статус пользователя в мемкеше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2016, 07:31 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=100&tid=1831725]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
54ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
| others: | 212ms |
| total: | 368ms |

| 0 / 0 |
