Ответ на 2) - идентификатор зависит.Позвольте мне объяснить: для того, чтобы обработчик сеанса функционировал должным образом, вы действительно должны реализовать некоторый тип механизма блокировки и разблокировки.В MySQL удобно иметь функции блокировки таблицы и разблокировки таблицы.Если вы не реализуете блокировку таблицы в обработчике сеанса, то вы рискуете получить условия гонки в запросах на основе ajax.Поверьте, вы не хотите этого.
Прочтите эту подробную статью, которая объясняет состояние гонки в пользовательском обработчике сеанса :
Хорошо, тогда, если вы добавите LOCK TABLE иРазблокируйте TABLE для каждого вызова сеанса, как вы должны, тогда ваш пользовательский обработчик сеанса станет немного медленнее.
Одна вещь, которую вы можете сделать, чтобы сделать это намного быстрее, - это использовать таблицу HEAP для хранения сеанса.Это означает, что данные будут храниться только в оперативной памяти и никогда не будут записаны на диск.Это будет работать очень быстро, но если сервер отключится, все данные сеанса будут потеряны.
Если вы согласны с возможностью потери сеанса при отключении сервера, вам следует вместо этого использовать memcache в качестве обработчика сеанса.Memcache уже имеет все необходимые функции для использования обработчика сессий php, все что вам нужно сделать, это установить сервер memcache, установить расширение memcache php и затем добавить что-то подобное вам php.ini
[Session]
; Handler used to store/retrieve data.
; http://php.net/session.save-handler
;session.save_handler = files
session.save_handler = memcache
session.save_path="tcp://127.0.0.1:11215?persistent=1"
Это будетопределенно будет намного быстрее, чем обработчик сеанса на основе файлов по умолчанию
Преимущества использования MySQL в качестве обработчика сеанса состоят в том, что вы можете написать собственный класс, который выполняет другие действия, дополнительные действия, когда данные сохраняются в сеансе.Например, допустим, вы сохранили объект, который представляет пользователя в сеансе.Вы можете иметь собственный обработчик сеанса для извлечения имени пользователя, идентификатора пользователя, аватара из этого ОБЪЕКТА и записи их в таблицу MySQL SESSION в свои собственные выделенные столбцы, что позволяет легко отображать Кто в сети
Если вам не нужны дополнительные методы в обработчике сеанса, то нет смысла использовать MySQL для хранения данных сеанса