Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Вопрос по рандомизации UPDATE (Po4emu4ka) 20/03/2014 - 12:41:41
      Re: Вопрос по рандомизации UPDATE (Akina) 20/03/2014 - 17:17:41
      Re: Вопрос по рандомизации UPDATE (Po4emu4ka) 20/03/2014 - 23:50:46
      Re: Вопрос по рандомизации UPDATE (Akina) 21/03/2014 - 11:20:38
      Re: Вопрос по рандомизации UPDATE (Po4emu4ka) 21/03/2014 - 11:42:23
      Re: Вопрос по рандомизации UPDATE (Akina) 21/03/2014 - 13:12:32

> Original message text:
> From: Po4emu4ka - 20/03/2014 - 12:41:41
> Subject:Вопрос по рандомизации UPDATE
> -----------------
> Существует таблица, заполненная ip-адресами. Появляется запрос на присвоение, выбирается свободный адрес из нужного диапазона, происходит update записи. Внимание вопрос, как сделать так, чтобы адрес забирался рандомно из таблицы? Сейчас они берутся последовательно, что вызывает дальнейшие сложности.
> Пример update:
> UPDATE ippool SET active=1, session_id=CRC32('%%{Acct-Session-Id}') WHERE username=%s AND nsapi=%s AND iprange_id IN (%s) LIMIT 1
>
> Буду благодарен за идеи. Спасибо.
>


From: Akina - 21/03/2014 - 13:12:32
Subject:Вопрос по рандомизации UPDATE
-----------------
Надо корректировать не логику программы, а сам подход к выделению адресов.

Например, брать адреса для выдачи не из таблицы, а из компактного временного пула. По мере исчерпания в нём адресов пополнять его или вообще перезаписывать свежим. Ну и, само собой, в таком случае надо не запрос использовать, а процедуру. Временный пул оформить как компактную (например, 10 тыс. записей) memory-таблицу.


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
43081



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |