|
|
|
Рандомный автоиндекс
|
|||
|---|---|---|---|
|
#18+
LumixAlex_UstinovЗачем именно РАНДОМНЫЕ "бирки"? Потому что когда бирки слишком похожие, то очень часто сотрудники зоопарка путают особей между собой, особенно там, где плохая освещенность и размеры особей небольшие, а сами особи на внешний вид хрен отличишь между собой. Например, те же зеленые попугайчики отличаются тремя перышками и, конечно, вечером, уставшая баба Нюра в очках -3 может легко перепутать 100503 и 100505, даже если она очень ответственная женщина. Перепутать 654321 и 467963 гораздо сложнее. Мозгу физически труднее спутать эти два числа даже не читая их по отдельным цифрам. Alex_Ustinov(это точно не id в понятии СУБД) ой, а это где это вы это такое понятие СУБД встетили?? по мне так очень даже себе id... просто видимо вы за всю жизнь привыкли, что айдишники всегда последовательные вот и не мыслите себе иную природу айдишников... ты не понимаешь. нельзя вкладывать в идентификатор (первичный ключ) никакой смысл кроме идентификации строки. иначе будут проблемы. проблемы, которые ты сам себе навяжешь таким способом. если тебе нужна какие то предметно-ориентированные бирки, делай их не первичным ключем, а просто полями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2015, 12:07:50 |
|
||
|
Рандомный автоиндекс
|
|||
|---|---|---|---|
|
#18+
miksoftLumixкогда бирки слишком похожиеЕсли визуальная схожесть в текстовом написании - это реальная причина, то такие вещи делаются другими способами. К сожалению, не делаются, потому что всем на это похер. Отношения у них в коллективе таким образом устроены, что проще наказать бабу Нюру, если что... У них все так устроено, что главное - не сделать лучше, а главное, чтобы было на кого стрелки перевести... То есть выражаясь в ваших терминах эта проблема не является официально признанной проблемой. Введение подобных разбросанных номерков - это "бесплатный" и неофициальный бонус от разрабов, чтобы сделать жизнь простых тёть Нюр проще, и при этом не вводить дополнительное поле "Бирка", а замаскировать его под "официально обязательный" идентификатор животного. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2015, 12:13:28 |
|
||
|
Рандомный автоиндекс
|
|||
|---|---|---|---|
|
#18+
Alex_Ustinovprimary key (id) - это не поле для хранения "бирок" А вы докажите. Мне почему-то кажется, что вы заколебетесь доказывать этот тезис. Alex_Ustinovкогда вы это поймете - вопросов и к вам и ваших будет меньше. А что вы мне конкретно предлагаете сделать? Сесть в позу лотоса и медитировать до полного просветления? Я принципиально считаю, но номера бирок могут быть примарным ключом и никакого "криминала" я в этом не вижу вообще ни разу. Alex_Ustinovа в моей жизни "id" вообще неприменимо, primary key (id) - Понятие СУБД Мне кажется, что не понятие субд, а просто ригидность вашего мышления. Вы за десятилетия привыкли вот и думаете, что вариативности в этом вопросе быть не может... Alex_Ustinovнасчет "визульного" разброса можно было сразу озвучить Ага, щас.. )))) я же знаю как тут на форуме все устроено... закидали бы меня какашками с самого начала... а так, я прикольный инструмент узнал про селф-джои на идентификатор с инкрементом я считаю то, что предложил tanglir - это реально прикольный причендал, который может работать на ЛЮБОЙ диапазон айдишников не только на 900 тыс., но его можно использовать и на несколько миллиардов айдишников не создавая при этом таблицы на несколько миллиардов заранее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2015, 12:21:12 |
|
||
|
Рандомный автоиндекс
|
|||
|---|---|---|---|
|
#18+
Lumixmiksoftпропущено... Если визуальная схожесть в текстовом написании - это реальная причина, то такие вещи делаются другими способами. К сожалению, не делаются, потому что всем на это похер. Отношения у них в коллективе таким образом устроены, что проще наказать бабу Нюру, если что... У них все так устроено, что главное - не сделать лучше, а главное, чтобы было на кого стрелки перевести... То есть выражаясь в ваших терминах эта проблема не является официально признанной проблемой. Введение подобных разбросанных номерков - это "бесплатный" и неофициальный бонус от разрабов, чтобы сделать жизнь простых тёть Нюр проще, и при этом не вводить дополнительное поле "Бирка", а замаскировать его под "официально обязательный" идентификатор животного.Ну вот, опять я не до конца изложил свою мысль. Я имел в виду, что даже в рамках технических методов можно бороться с ошибками операторов более эффективно, чем рандомом. Можно же осознанно генерить номера так, чтобы они гарантированно различались как минимум в двух-трех разрядах. Более того, при достаточном запасе избыточности и не слишком высоком уровне ошибок можно даже автоматически корректировать пользовательский ввод, а не только проверять корректность. Ссылка на тему - http://dic.academic.ru/dic.nsf/ruwiki/973464 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2015, 12:23:27 |
|
||
|
Рандомный автоиндекс
|
|||
|---|---|---|---|
|
#18+
Lumix, упростите лексику... поле бирка должно быть уникальным, а не примари это ригидность вашего мышления к сожалению при более полном изложении вопроса вам наоборот помогут быстрее, чем как вы думаете кака... и прочее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2015, 12:30:52 |
|
||
|
Рандомный автоиндекс
|
|||
|---|---|---|---|
|
#18+
LumixПерепутать 654321 и 467963 гораздо сложнее. Мозгу физически труднее спутать эти два числа даже не читая их по отдельным цифрам. Тогда лучше сделай GUID. Их не то что спутать - даже осознать без сравнения с бумажкой малореально. А заодно отпадут проблемы с длиной - все гуиды одинаковой длины,- и дубляжем - уж больно тех гуидов дофига. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2015, 12:42:03 |
|
||
|
Рандомный автоиндекс
|
|||
|---|---|---|---|
|
#18+
Lumixлибо мои аналитические способности находятся на уровне хоббита с Флореса...угу :) На примере тех же попугайчиков: вот вам привезли их 10 штук. Старым способом (честная генерация СЧ в цикле пока не получим незанятый номер) они с довольно высокой вероятностью получат разные номера (скорее всего). Новым способом - а тут вероятность того, что они получат последовательные номера, повыше. Причём чем больше номеров уже использовано, тем это вероятнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2015, 12:43:37 |
|
||
|
Рандомный автоиндекс
|
|||
|---|---|---|---|
|
#18+
tanglirНовым способом - а тут вероятность того, что они получат последовательные номера, повыше. Причём чем больше номеров уже использовано, тем это вероятнее. Повыше ) ну и слово... Чисто из спортивного интереса, вопрос для тех, кто силен в теории вероятностей: какова вероятность для нового попугайчика получить рядом стоящий номер с другим попугайчиком, если в таблице уже 8765 животных, а всего животных может быть только 899 999 (то есть 900 тыс. - 1) я просто в теории вероятностей "школьник" и мне почему-то кажется, что вероятность будет 1 / (899999 - 8765) = 0,0001% то есть как бы с этим можно "идти в бой" хотя может я что-то в математике этой ситуации не так понимаю... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2015, 12:50:33 |
|
||
|
Рандомный автоиндекс
|
|||
|---|---|---|---|
|
#18+
Alex_Ustinovполе бирка должно быть уникальным, а не примари я не совсем догоняю что означает эта фраза... если честно, то я не совсем даже понимаю, что такое primary key то есть я не понимаю откуда он исторически появился... короче, для меня примари это всегда было просто поле, которое позволяет уникально идентифицировать запись а в данном случае бирка - это и есть этот самый уникальный идентификатор животного ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2015, 12:56:15 |
|
||
|
Рандомный автоиндекс
|
|||
|---|---|---|---|
|
#18+
Вот, смотрите сами, что на миллионе записей при половинном заполнении выходит: мин-макс длина цепочкиколичество в вар. 1количество в вар.22-5117285864296-1075381495311-15234272816-20462621-30021631-1000000015Цифры каждый раз, ясное дело, немного другие, но их соотношение сильно не меняется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2015, 12:57:16 |
|
||
|
Рандомный автоиндекс
|
|||
|---|---|---|---|
|
#18+
Lumixкакова вероятность для нового попугайчика получить рядом стоящий номер с другим попугайчиком, если в таблице уже 8765 животных, а всего животных может быть только 899 999 (то есть 900 тыс. - 1)Ну пока таблица малозаполнена, то вероятность мала в обоих вариантах. Я говорю о том, что чем больше номеров будет занято, тем выше шанс получить соседний по второму варианту. А по первому шанс остаётся неизменным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2015, 12:59:51 |
|
||
|
Рандомный автоиндекс
|
|||
|---|---|---|---|
|
#18+
tanglirВот, смотрите сами, что на миллионе записей при половинном заполнении выходит: мин-макс длина цепочкиколичество в вар. 1количество в вар.22-5117285864296-1075381495311-15234272816-20462621-30021631-1000000015Цифры каждый раз, ясное дело, немного другие, но их соотношение сильно не меняется. не хватает силы мозга распарсить сие творениче что есть длина цепочки? что есть вариант 1 и 2 что означает кол-во в каждом из вариантов? можете ли вы как обычно делают в науке после таблицы сделать свой вывод? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2015, 13:01:36 |
|
||
|
Рандомный автоиндекс
|
|||
|---|---|---|---|
|
#18+
tanglirА по первому шанс остаётся неизменным. Я слегка запутался какой из вариантов первый, а какой второй. Ваш на джоине с инкрементом - это первый, а миксофтовский на предвычисленных значениях второй. Такая нумерация вариантов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2015, 13:03:58 |
|
||
|
Рандомный автоиндекс
|
|||
|---|---|---|---|
|
#18+
Создаются 2 массива длиной 1М. Далее каждый массив заполняется по своему варианту. Ну тут я уже не буду повторяться. Потом ищутся все последовательности("цепочки") выданных номеров, определяются их длины ну и всё это разбивается по категориям (короткие цепочки, подлинней и т.д.). Как видно, второй вариант даёт гораздо больше длинных последовательностей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2015, 13:05:49 |
|
||
|
Рандомный автоиндекс
|
|||
|---|---|---|---|
|
#18+
Нет, первый - это ваш. Честный рандом. Ну и миксофтовская его модификация. Суть у них одна в общем-то. А второй вариант - это "поиск первого незанятого". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2015, 13:06:43 |
|
||
|
Рандомный автоиндекс
|
|||
|---|---|---|---|
|
#18+
Lumix, циферки есть циферки, если уж беспокоиться о "бабе Нюре", то можно продумать какие то словестные комбинации для рандомной "бирки" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2015, 13:07:28 |
|
||
|
Рандомный автоиндекс
|
|||
|---|---|---|---|
|
#18+
tanglirНет, первый - это ваш. Честный рандом. Ну и миксофтовская его модификация. Суть у них одна в общем-то. А второй вариант - это "поиск первого незанятого". ок, понятно а можно как-то без ущерба для здоровья оптимизировать ваш вариант каким-нибудь order by random() чтобы приблизить эффективность к предвычисленным таблицам или к обычной проверке свободной ячейке в цикле? Потому что ваш вариант дюже приятен для очень больших номеров (миллиардников) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2015, 13:09:59 |
|
||
|
Рандомный автоиндекс
|
|||
|---|---|---|---|
|
#18+
Alex_UstinovLumix, циферки есть циферки, если уж беспокоиться о "бабе Нюре", то можно продумать какие то словестные комбинации для рандомной "бирки" Ваша идея понятно. Давайте её попробуем. Предложите какой-нибудь вариант. И сравним его по эффективности с нашим вариантом, где бирки идут в разброс. Итак, в потенциале у нас 899999 бирок для животных (столько конечно не будет никогда, но в потенциале они есть). Итак, какие именно словесные комбинации вы предлагаете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2015, 13:12:58 |
|
||
|
Рандомный автоиндекс
|
|||
|---|---|---|---|
|
#18+
Lumixбез ущерба для здоровьяЕсли у вас заполнение процентов на 10, то беспокоиться не о чем - шанс на несколько последовательных номеров подряд всё равно ничтожен. ЗЫ. А что не так с таблицей предвычисленных номеров? Имхо самое железобетонное решение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2015, 13:15:06 |
|
||
|
Рандомный автоиндекс
|
|||
|---|---|---|---|
|
#18+
Lumix, вариантов как и часто используемых наборов перемноженных между собой очень много абревиатуры стран штаты США города России ... и т.д. Баба Нюра будет удивлена зайдя в клетку к слону ДжонRUS755Владивосток ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2015, 13:22:47 |
|
||
|
Рандомный автоиндекс
|
|||
|---|---|---|---|
|
#18+
tanglirЕсли у вас заполнение процентов на 10, то беспокоиться не о чем - шанс на несколько последовательных номеров подряд всё равно ничтожен.Я бы сказал, что ничтожно отличается от единицы :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2015, 14:06:42 |
|
||
|
Рандомный автоиндекс
|
|||
|---|---|---|---|
|
#18+
и вся суть вопроса сводится к следующим действиям вставляете записи как обычно (оставим id автоинкремент примарикей не вдаваясь в историю) в уже существующей записи генерите "бирку" какую вам или бабе Нюре удобно так это логичнее да, конечно, для этого необходимы дополнительные тех.таблицы (2 или 3 или 4 или 5 в зависимости от наборов, а для базы это сущий пустяк), но использовав достаточно наполненные в бирке первый и последний набор символов (что обычно бросается в глаза), будет отличное визуальное отличие ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2015, 14:10:50 |
|
||
|
Рандомный автоиндекс
|
|||
|---|---|---|---|
|
#18+
поехал на обед, сел за руль и вспомнил об автомобильных номерах. Поштудируйте как они формируются. Для одного региона комбинаций около 1млн. (вроде бы) Создавались новые автономера тоже для "удобочитаемости" Похожий подход применим к вашей задаче. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2015, 15:56:26 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39061129&tid=1832690]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
29ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
| others: | 220ms |
| total: | 351ms |

| 0 / 0 |
