Повторно подключиться к mySQL или отправить предыдущее через POST?

У меня есть две веб-страницы: page1.php и page2.php.

В page1.php

Выполнен запрос MySQL и сохранен в переменной A.

В page2.php

Я хочу те же результаты того же запроса.

Должен ли я повторно подключиться к MySQL и выполнить запрос еще раз или же отправить переменную A из page1.php через POST или SESSION? Какое быстрое решение? Есть ли другое решение?

РЕДАКТИРОВАТЬ: Других запросов нет, поэтому данные не изменятся (думаю)

1

Решение

Я, конечно, не пропустил бы это через POST, это позволяет взломать данные вредоносным клиентом.

SESSION будет немного быстрее, если предположить, что набор данных не слишком велик, и если данные вряд ли изменятся в пространстве сеанса пользователя, это разумный выбор.

Было бы полезно узнать, сколько времени фактически занимает ваш запрос, чтобы увидеть, будет ли разница во времени существенной. Вы упомянули, что результирующий набор содержит 14000 строк. Если это просто выбор из одной таблицы, я не могу себе представить, что это займет очень много времени. 14000 строк — это действительно много для хранения в сессии. Помните, что он хранит набор данных один раз для каждого пользователя, использующего сайт, в любой момент (поскольку сеанс относится только к одному пользователю). Если у вас много пользователей, вам придется следить за тем, сколько памяти на вашем сервере она потребляет.

Еще одно замечание: если вы хотите получить одинаковые результаты на нескольких страницах, рассмотрите третий сценарий, который вы можете включить в другие, который ничего не делает, кроме как производит этот вывод.

2

Другие решения

Если вы не уверены, что данные могли измениться, сделайте новый запрос! Эта операция может занять больше времени, но вы можете быть уверены, что данные все еще актуальны.
Что если пользователь перезапустит page1.php в другом браузере, продолжая обрабатывать page2.php?
Таким образом, только если вы уверены на 100%, что ничто не может быть изменено или если загрузка данных занимает слишком много времени / ресурсов, используйте их повторно.

Никогда не доверяйте данным, которые могли быть изменены пользователем, и ВСЕГДА следите за тем, чтобы все было так, как вы ожидаете. Может быть, вам стоит подумать о проверке данных.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector