
Nibbler
19.12.2018
07:49:01
Алго предложенный мной:
1. Получаем uuid
2. Отправляем в БД c uiid все остальное БД сделает за нас.

dypa
19.12.2018
07:51:25

Nibbler
19.12.2018
07:55:30

Google

dypa
19.12.2018
08:00:05
uuid + id(autoincrement)

Nibbler
19.12.2018
08:00:21
uuid внутренний хэш, id просто индекс заказа.
он автоикремент в БД.

dypa
19.12.2018
08:01:04
если id автоинкримент - то зачем uuid как PK?

Nibbler
19.12.2018
08:01:31
если дохера заказов и боишься что выйдешь за пределы bigInt

dypa
19.12.2018
08:02:08
так себе обоснование

Nibbler
19.12.2018
08:02:40
критикуешь предлагай

dypa
19.12.2018
08:03:33
не нужно мыслить только одним полем в бд, которое определяет уникальность!

Nibbler
19.12.2018
08:06:55

Google

dypa
19.12.2018
08:12:02
продолжай... раскрой мысль.
я вроде бы не ни на экзамене, ни лекцию веду. выше уже был ответ - нужно только внимательно прочитать и подумать.

Nibbler
19.12.2018
08:12:36

Valerii
19.12.2018
08:14:25
этот?
После Вашего разбора алгоритма... Мой вопрос уже и не очень звучит)))

dypa
19.12.2018
08:16:15

Nibbler
19.12.2018
08:16:55
права пользователя и заказы?

dypa
19.12.2018
08:18:23

Nibbler
19.12.2018
08:19:45
я и мой друг в одно время заказали, как вы нас различите?

dypa
19.12.2018
08:20:03

Nibbler
19.12.2018
08:20:34
datetime
так ок, два одинаковых datatime заказа как отличать ху из ху

Terminator
19.12.2018
08:21:11
@AnSi2 будет жить. Поприветствуем!

Nibbler
19.12.2018
08:21:23
хаюшки друже

Антон
19.12.2018
08:21:51
че тут за движ?

dypa
19.12.2018
08:22:45

Nibbler
19.12.2018
08:23:36

Marat
19.12.2018
08:23:40
@AnSi2 @mom_son пусть делают как хотят) при такой алгоритмизации мы точно не останемся без работы)

Nibbler
19.12.2018
08:23:55
на все 100%

Google

Nibbler
19.12.2018
08:24:14
в помойку выкидывать такой код жаль что придется

Антон
19.12.2018
08:24:31
а в чем терка то, обьясните для тупых, как в списке бысто найти заказ?

Nibbler
19.12.2018
08:24:46
или одно datatime

dypa
19.12.2018
08:25:47

Nibbler
19.12.2018
08:26:02
ну пока только ты
%)

Marat
19.12.2018
08:26:26
Заказ при нормальной логике это отдельная сущность. у которого номер формируется по автоинкрименту, который является примарным

Антон
19.12.2018
08:26:26
а че там решать , datatime + пара уникальных символов

Nibbler
19.12.2018
08:26:52

Marat
19.12.2018
08:26:56
Дата никак не связана с номером заказа

Nibbler
19.12.2018
08:27:06

Антон
19.12.2018
08:27:13

dypa
19.12.2018
08:27:23

Marat
19.12.2018
08:27:44

Nibbler
19.12.2018
08:27:51
офигеть :) просто

Антон
19.12.2018
08:28:26
а тык обычно бизнес говорит че у них за нумерация)

dypa
19.12.2018
08:30:31

Nibbler
19.12.2018
08:31:15

Антон
19.12.2018
08:31:32

Google

Антон
19.12.2018
08:31:46
не безопастно?

Marat
19.12.2018
08:31:48

Nibbler
19.12.2018
08:31:58
uuid

Marat
19.12.2018
08:32:05

Антон
19.12.2018
08:32:14
base64(md5(datatime))

Nibbler
19.12.2018
08:32:24
но господа, чтобы клиенту было удобно говорить номер, добавим id инкремент

Marat
19.12.2018
08:32:28
пусть этот код и называет

Антон
19.12.2018
08:32:41

Nibbler
19.12.2018
08:32:42

dypa
19.12.2018
08:35:36
не безопастно?
автор вопроса выше указал на требование "конкуренты не должны иметь возможность выяснить количество заказов"

Nibbler
19.12.2018
08:36:59

Антон
19.12.2018
08:37:32

Nibbler
19.12.2018
08:38:03
знаете почему это бред? Потому что есть отчеты о продажах.
Если надо я за 5к куплю инфу. И заморачиваться с вашими клчами не буду %)

dypa
19.12.2018
08:44:56

Pavel
19.12.2018
09:48:35
Столько проблем, лишь бы не вести инкрементный номер заказа

Dmitry
19.12.2018
09:49:24
А почему бы не вести рандом+инкремент?

Антон
19.12.2018
09:50:14
НО схема урлов ютуба всеравно решает)

Google

Dmitry
19.12.2018
09:50:55
Составной ключ

Pavel
19.12.2018
09:52:30

Антон
19.12.2018
09:53:43
я решу эту задачу за 20 баксов)

Dmitry
19.12.2018
09:53:58
ах вспомнил, оно только в myisam было такое для составного ключа, печалька

Антон
19.12.2018
09:54:41

Pavel
19.12.2018
09:54:48
Ну я предложил uuid + число из md5, по моему вариант хорош

dypa
19.12.2018
10:30:27

Pavel
19.12.2018
10:39:26

dypa
19.12.2018
10:41:10
пусть у нас хеши 4х символьные доступны значения ab12. тогда коллизии будут a1b2, a12b

Pavel
19.12.2018
10:56:11
Он хотел 8 цифр, я предложил ему получить 8 цифр (не букв) из md5
8 цифр это 99,999,999 c более-менее равномерным распределением md5

Сергей
19.12.2018
10:59:08
Выводите номер заказа в рамках клиента
И ищите клиента по номеру телефона

Антон
19.12.2018
10:59:31

Сергей
19.12.2018
10:59:34
А идентификатор заказа в базе не выводите