0
<< предыдущая заметкаследующая заметка >>
06 марта 2010
Распухла таблица логинов...

Собственно говоря, у меня в дальних планах было привести ее в порядок. Ситуация в следующем: в таблице заводится учетная запись для КАЖДОГО посетителя. Так надо.

Но там куча полей для регистрации (имя, емайл, пароль, логин и т.п.), которыми большинство случайных посетителей никогда не воспользуется, поскольку не оставляют комментарии и не регистрируются. На данный момент учетных записей: 85662, из них пустых: 79089 (а если не считать поле lj, которое автоматом определяется, то и вовсе пустых 81445).

Варианта два:

1) Завести отдельную таблицу, куда записывать только личные данные пользователей, а в основной таблице оставить всего два поля int: собственно номер посетителя и, если не 0, ссылка на другую таблицу, где хранятся регистрационные поля.

2) Для «пустых» посетителей не хранить вообще учетной записи, а тупо пропускать нумерацию. Пусть останутся только заполненные записи: 80000,80007,80035, а если посетитель с присвоенным номером 80001 оставит о себе какую-то личную информацию, всегда можно завести учетную запись 80001.

Лично мне больше нравится вариант 2, но я не понимаю, как дать команду MySQL узнать, на чем остановился первичный индекс и увеличить его на единицу, не добавляя самой записи. И не возникнет ли сбоев, если два новых пользователя зайдут в одну секунду, и обоим будет в куку выдан одинаковый номер 80001 без записи в базу.

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

Что посоветуете?

<< предыдущая заметка следующая заметка >>
пожаловаться на эту публикацию администрации портала
архив понравившихся мне ссылок
Оставить комментарий


Include not found: `/home/www/lleo.me/blog/template/_reklamnaya_lirica.htm`