
Anatoliy
08.06.2017
18:52:40
А вы случаем не с MongoDB смигрировались? (Простите)

abc
08.06.2017
18:56:04
Нет )
К монге осторожно отношусь

Anatoliy
08.06.2017
18:56:42
Перечитал 3 раза и яснее не стало. А можете привести пример этой подписной модели?

Google

Anatoliy
08.06.2017
18:56:52
Ну типа: как у гугла
(YouTube)

Darafei
08.06.2017
19:09:55
Предпосчитать сотню рекомендаций и обновить после пары просмотров не вариант?
А если надо отсечь только новые видео для пользователя, фильтр Блума подойдёт

Fike
08.06.2017
20:01:27
В uuid же уже вшит таймстамп

Аггей
08.06.2017
20:05:51

abc
08.06.2017
20:11:10

Darafei
08.06.2017
20:12:15
далеко не по всякому

blkmrkt
08.06.2017
21:45:07
Кто-нибудь знаком с ArangoDB? Не нахожу инфо о том как она производит изменения данных на диске.

Fike
08.06.2017
21:54:49

blkmrkt
08.06.2017
21:55:42

Google

Fike
08.06.2017
21:56:03
ну я на самом деле сам только что эту страницу открыл

blkmrkt
08.06.2017
21:56:17
а кто-нибудь пользовался ArangoDB?

Yury
09.06.2017
01:22:37

Denis
09.06.2017
06:22:29
У меня есть вопрос по работе insert ... on conflict. Документация требует при использовании on conflict update обязательно указывать объект конфликта. Если у меня есть таблица с двумя ограничениями уникальности, то возможно ли отработать каждое из них через on conflict update?

Yury
09.06.2017
06:27:43
ой кажется в хакерсах читал про такое

Denis
09.06.2017
06:28:18
ссылки не сохранилось?)

Айтуар
09.06.2017
06:33:04

Denis
09.06.2017
06:33:42

Yury
09.06.2017
07:24:36

Denis
09.06.2017
07:34:19
Нет, не совсем. Они два уникальных ограничения (id1), (id2) превращают в одно (id1,id2). Мне же интересно обработать один и второй последовательно

Igor
09.06.2017
07:46:06
А можно глупый вопрос?
Есть таблица, среди ее полей - id, another_id, is_enabled
хочется сделать в другой таблице внешний ключ к another_id, но проблема в том, что another_id без unique constraint'а. Дубликаты another_id в первой таблице есть, но пропадают, если фильтровать по is_enabled == true.
Как тут правильнее будет сделать?
foreign key на (another_id, is_enabled) кажется чем-то не тем. Чё-т я туплю и не уверен, что знаю, в какую сторону копать.

Denis
09.06.2017
08:02:24
Делать уникальный ключ по (another_id, is_enabled) и ссылаться на него таблицей, где только (another_id) нельзя - придётся и в неё тащить is_enabled. Правильно создать отдельную таблицу с уникальными another_id и на неё ссылаться из первой и второй таблиц

Igor
09.06.2017
08:03:49
точно, логично ведь. спасибо большое

Boris
09.06.2017
08:10:24
Всем привет, Кто может подсказать по LOndiste ?

Артур
09.06.2017
08:14:16
получается что дроп констрейнт не может проверяться на if exists

Denis
09.06.2017
08:22:08
А там не alter table имя_таблицы drop constraint if exists имя_ограничения?

Артур
09.06.2017
08:52:19
через час гляну - пока не могу
но скорее всего ты прав. Порядок перепутал

Google

Артур
09.06.2017
09:47:20
Меня вот что озадачивает. Laravel почему-то constrait делает к уникальному индексу.
Почему просто бы не создавть уникальный индекс?
Есть какая-то важная деталь, зачем констрейт делают вместе с индексом?
Просто дропать такой индекс не получается :( приходится потом писать предварительный изврат типа убивания ключа
Причем когда я уникальный индекс делаю через запрос, никаких связанных ключей не созадется автоматом
То есть получается это инициатива LARAVEL
А оно мне надо?

Anton [Mgn, az09@osm]
09.06.2017
09:52:04
LARAVEL вычеркиваем

Артур
09.06.2017
09:54:18
Тогда по другому задам вопрос. Если кто-то делает ключ вместе с уникальным индексом, то это кому-то надо. Какая польза от такого подхода?

Denis
09.06.2017
09:55:18
Так разве уникальный индекс это не constraint unique (который тоже индекс)? Я не могу понять вопрос

Артур
09.06.2017
09:59:42
1 сек
сейчас сделаю пример, а может и сам разберусь заодно

Denis
09.06.2017
10:02:25
Выведете \d и сравните с результатом конструкции alter table add constraint unique
Вы же можете через alter table add constraint добавить primary key, который то же уникальный индекс

Артур
09.06.2017
10:06:06
Пожалуйста объясни как нубу. Вот есть уникальный индекс (не обязательно это Primary key) зачем нужно создавать ключ. Это како-то прирост к скорости или понятности дает?

Darafei
09.06.2017
10:06:56
Natural join

Pavel
09.06.2017
10:07:04
Ну и модель в которой есть ПК понятнее, чем просто наличие уникального индекса
Ибо ПК — constraint

Артур
09.06.2017
10:09:31
у меня ситуёвина:
Есть поле uiid (оно является первичным ключом)
И есть пачка полей, в купе ограничивающие повторения строк
Вот на эту пачку полей всегда констрейнт получается надо делать?
Тогда зачем unique index по умолчанию не constraint?
Зачем лишние строки когда, когда архитектура итак давит на то, что это важный и нужный момент

Google

Артур
09.06.2017
10:12:08
Поясню
Я сейчас задаю вопросы не потому чтобы прикопаться или там похоливарить
Мне реально не понятно. А т.к. белое пятно в этом месте, сами понимаете, как сейчас пойму, так шаблон поведения и сформируется

Darafei
09.06.2017
10:40:59

Dmitry
09.06.2017
10:43:47
Дальше можно уже додумать, почему PK - это констрейнт, а уникальный индекс - нет ))

Admin
ERROR: S client not available

Anton [Mgn, az09@osm]
09.06.2017
10:45:05

Darafei
09.06.2017
10:46:26
один NULL
разве? ведь (null = null) is not true

Anton [Mgn, az09@osm]
09.06.2017
10:47:09
толсто )

Dmitry
09.06.2017
10:47:31

Anton [Mgn, az09@osm]
09.06.2017
10:48:01
а теперь не ПК, а уник. и два раза
вот во второй раз будет ошибка

Darafei
09.06.2017
10:48:51

Dmitry
09.06.2017
10:48:56

Darafei
09.06.2017
10:49:30
всё вставляется, это же не ms sql

Dmitry
09.06.2017
10:49:59

Anton [Mgn, az09@osm]
09.06.2017
11:04:03
хотя в mssql хоть что с ansi_nulls делай, всё одно Violation of UNIQUE KEY constraint

Артур
09.06.2017
11:11:31
Правильно ли я понял? ПК таблицы обязательно констрейт. Остальное не критично и не важно связывать с ключом.
Ну чтобы в кратце. Я вроде перечитал раз 5 но понял только то, что:
unique не constrait позволяет добавлять Null в поля
constraint ключи нужны чтобы видеть через команду \d что есть первичный ключ

Dmitry
09.06.2017
11:15:34

Google

Dmitry
09.06.2017
11:16:35

Darafei
09.06.2017
11:16:55
constraint - это запрет на что-то. есть unique constraint, есть exclusion constraint, есть check. первые два умеют смотреть в соседние строки таблицы, и из-за этого им нужен индекс, чек смотрит только в текущую, и индекса не требует
primary key - это не констрейнт, это пометка, что в этом столбце лежит айдишник записи. айдишника не может не быть и он не может повторяться, поэтому на это тоже есть проверки.
так получилось, что реализованы они тоже через индекс :)

Denis
09.06.2017
11:20:00

Darafei
09.06.2017
11:20:04
а та ручка индекса, через которую обе эти штуки сделаны, тоже торчит наружу.

Alexey
09.06.2017
11:27:14
подробная статья про UNIQUE KEY и NULL в SQL стандарте и разных СУБД: https://ocelot.ca/blog/blog/2013/09/11/null-and-unique/

Denis
09.06.2017
11:27:36

Darafei
09.06.2017
11:29:38
по доке - add primary key при существующей unique not null будет быстрой операцией

Alexey
09.06.2017
11:30:42
думаю, что с точки постгреса они ничем не отличаются. потому что в постгесе нет кластеризованных индексов
то есть по сути все индексы вторичные и primary key это просто алиас

Anton [Mgn, az09@osm]
09.06.2017
11:47:09

Alexey
09.06.2017
11:48:54
wikipedia считает, что да, "кластерных". google говорит, что оба термина используются часто
по мне так "кластеризованный" — более точный перевод слова clustered