|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Artem Chuprina 2:5020/400 27 Aug 2004 11:58:14 To : Igor Sigaev Subject : Re: Программируем MySQL под CGI Perl -------------------------------------------------------------------------------- Igor Sigaev -> Serge Chervjakov @ Wed, 25 Aug 2004 20:50:02 +0000 (UTC): IS> А если пользователей будет больше? А, самое главное, если будут "гонять" IS> данные чаще ? ... Вообще на подобные задачи обычно применяется другой метод. Поле, естественно, делается не автоинкрементным, а просто числовым. Таблица блокируется, выбирается случайное число, проверяется, есть ли оно в базе. Если есть - выбирается следующее случайное число, и т.д. Если нет - используется это. Запись вставляется, таблица разблокируется. Разумно выбор случайного числа ограничить пятком итераций - если все пять уже есть в базе, то либо база слишком набита (почти под завязку диапазона чисел), либо генератор случайных чисел очень плохой (например, стандартный от солярки - всего 15 бит), и тут лучше отвалить операцию, чем зациклить сервер. -- Artem Chuprina RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/122.256, ICQ: 13038757 --- ifmail v.2.15dev5.3 * Origin: Leninsky 45 home network (2:5020/400) Вернуться к списку тем, сортированных по:
Архивное /ru.cgi.perl/114773670e255.html, оценка из 5, голосов 10
|