Можно ли использовать базу данных MySQL вместо переменных? - PullRequest
0 голосов
/ 19 сентября 2009

Когда я пишу скрипты на PHP для работы с базами данных MySQL с MEMORY Storage Engine , это так же быстро, как переменные PHP? Могу ли я рассмотреть возможность использования такой базы данных вместо некоторых переменных для буферов, очередей сообщений и т. Д.?

Ответы [ 3 ]

1 голос
/ 19 сентября 2009

Mysql никогда не будет столь же быстрым , как переменные PHP, даже если используется механизм хранения памяти. У вас все еще есть издержки протокола соединения клиент / сервер mysql и т. Д.

Однако он должен быть достаточно быстрым для многих случаев, когда у вас есть преимущество использования SQL для некоторых наборов данных, например.

Имея это в виду, используйте его только при необходимости.

Кроме того, вы должны посмотреть memcached и (php extension ) Он не поддерживает SQL, но это простая система кеширования памяти с большими возможностями и все ваши процессы / серверы могут использовать один и тот же кеш

1 голос
/ 19 сентября 2009

Нет, это не так быстро, как переменные PHP, потому что это локально для веб-сервера. Если вы обращаетесь к таблице MySQL MEMORY, она находится в памяти на сервере базы данных, поэтому вы получаете доступ к внешнему ресурсу для получения необходимой информации. Существует также дополнительное время, необходимое для выполнения запросов к таблице, а не для выполнения локального кода PHP.

0 голосов
/ 19 сентября 2009
нет

Нет


Протоколы включают передачу сообщений и возможное переключение контекста; все довольно тяжеловесные операции.

...