Forum Webscript.Ru

Общие => Базы данных => Тема начата: Error202 от 25 Марта 2010, 13:22:28

Название: Выбор несуществуюей записи MySQL
Отправлено: Error202 от 25 Марта 2010, 13:22:28
Господа!

есть пространство 5 кубов, в каждом по 500 более мелких кубов, где в каждом по 15 совсем мелких...
В бд (MySQL) каждый куб записывается по пути начиная от большого, т.е. например k1=3, k2=345, k3=12
это все формально, изначально бд пустая

при регистрации юзер получает случайно выбранный самый мелкий куб и он заносится в бд в таком виде... (например k1=3, k2=345, k3=12)

Не могу придумать алгоритма, как случайно придумать куб  из большого квадрата так, чтобы параметры k1,k2 и k3 не совпадали с уже существующим в бд (т.е. выбрать несуществуюий куб и занять его)?

k1,k2 и k3 - поля таблицы
Название: Выбор несуществуюей записи MySQL
Отправлено: brainkiller от 09 Апреля 2010, 16:30:12
Вариант с предсозданием записей для каждого куба с последующим select id from cubes where user_id = 0 limit 1 чем не подходит?
Название: Выбор несуществуюей записи MySQL
Отправлено: Error202 от 09 Апреля 2010, 16:35:25
Да многовато надо делать пустых записей... 5*500*15...
Я сделал рандомный выбор начиная с самых мелких по 2-3... и проверкой по базе...

Для моих целей подойдет... т.к. заполнение будет максимум на 30%
Название: Выбор несуществуюей записи MySQL
Отправлено: brainkiller от 09 Апреля 2010, 19:54:28
Всего-то 37500 записей! :)

А что, если хранить отдельно параметры последнего добавленного элемента и добавлять каждый последующий с постоянным сдвигом, скажем, в 2000 ячеек?
Название: Выбор несуществуюей записи MySQL
Отправлено: Error202 от 12 Апреля 2010, 12:07:08
Ага... именто так и сделал... храню последнего, но сдвиг не постоянный а рандомный...
Название: Выбор несуществуюей записи MySQL
Отправлено: brainkiller от 25 Апреля 2010, 20:46:13
Хм, а когда весь объём пройдёте, то при втором проходе будете проверять ячейку на занятость?
Название: Re: Выбор несуществуюей записи MySQL
Отправлено: terrystrickl от 04 Апреля 2015, 07:36:02
Интересует вопрос выбора инструментария с точки зрения удобства работы WEB-программиста.
Мы сейчас используем Perl-Oracle - но не совсем удобно.Кто что может посоветовать из реально работающего с Oracle WEB-инструментария?