Индекс MySQL по столбцам сессий - PullRequest
1 голос
/ 14 февраля 2011

Было бы неплохо иметь индекс для столбца сеанса в пользовательской таблице? Он обновляется всякий раз, когда меняется чей-то сеанс, поэтому я не уверен, будет ли производительность лучше или хуже (в таблице 200 000 пользователей, хотя, может быть, только 5000–10 000 входят в систему в месяц).

Примером запроса, который используется для проверки вошедшего в систему пользователя, будет (COOKIE.USERSESSIONID будет идентификатором сеанса из файла cookie пользователя):

SELECT uname,credits,coins,avatarData,verifyemail,email,lastip FROM users WHERE session = "COOKIE.USERSESSIONID"

Ответы [ 2 ]

1 голос
/ 14 февраля 2011

Если вы планируете использовать хранилище сеансов в БД, я бы посоветовал вам взглянуть на использование типа таблицы MEMORY.

Просто сохраните свой идентификатор пользователя, данные, последнее обновление ....

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

Проблемы с памятью возникнут, если вы храните там множество данных, но правильное управление ими должно устранить эту проблему довольно резко ...

0 голосов
/ 14 февраля 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...