Fike
28.09.2017
09:29:16
у самого таймстампа может быть только UTC; думаю, с этим согласны все, поэтому непосредственно хранить таймзону таймстампа - это бессмысленно
если дейттайм внутри движка хранится в виде таймстампа - да, я занимаю позицию, что кроме таймстампа в этой структуре должна лежать еще таймзона, в которую конвертировать обратно, чтобы дейттайм можно было вернуть в исходном виде
Alexey
28.09.2017
09:30:11
а календарь как же? а примеры из статьи?
Ad.x ??
28.09.2017
09:30:29
Google
Fike
28.09.2017
09:31:11
это всё никак не коррелирует с SQL и стандартами; я говорю про то, как он должно быть по моим представлениям. на всякий еще раз отмечу, что sql - это не предел мира, и вокруг куча хранилищ, которые с SQL никак не пересекаются
в том числе, я не знаю точно, как это реализовано внутри постгре, но, насколько понимаю, DATETIME WITH TZ там сохраняет таймзону согласно описанному выше принципу - и да, это хорошо
Pavel
28.09.2017
09:32:16
Fike
28.09.2017
09:32:27
кто придумал TIMESTAMP WITH TZ - я не знаю, это противоречит здравому смыслу
Alexey
28.09.2017
09:32:47
ох
царёвщина, как она есть
Pavel
28.09.2017
09:33:02
А, ты именно про datetime with tz? Интересно
Fike
28.09.2017
09:33:28
мне кажется, это ты завёлся
Pavel
28.09.2017
09:33:52
* не совсем так
Fike
28.09.2017
09:34:20
ну так в случае бд это не так
почему? потому что стандарт позволяет задавать его в виде строки с датой, которая конвертируется внутри движка в таймстамп?
Pavel
28.09.2017
09:34:30
да именно
Google
Alexey
28.09.2017
09:34:32
это называется UNIX timestamp. А timestamp — это просто слово в английском языке. отметка во времени, без привязки к unix, epoch, 1970 и прочему
Fike
28.09.2017
09:34:50
Pavel
28.09.2017
09:35:15
То есть внешне он ведет себя не как количество секунд с времени а как обычная дата с таймзоной. Ну сахар, но тем не менее.
Fike
28.09.2017
09:35:34
ну, здесь уже у кого какой вкус
Pavel
28.09.2017
09:35:36
Вдруг кто тут не чувствует этот момент ;)
Просто из-за таких разнотолкований и возникает недопонимание. Один напишет как удобно в постгре сохранять таймстамп с таймзоной, а другой потом ходит и всем рассказывает какие идиоты в постгре сделали поддержку таймзон у таймстампа :) Хотя в общем то первый прав.
Alexey
28.09.2017
09:39:13
а третий идиот расскажет, как разрабы в mysql ничего не понимают в таймзонах
Fike
28.09.2017
09:40:14
мне кажется, это ты завёлся
я так и буду продолжать это форвардить, хорошо?
Pavel
28.09.2017
09:40:41
Ну это неконструктивное и слишком жесткое заявление. Но вот то что в нем не реализовано такое поведения с явными таймзонами это конечно недостаток.
Alexey
28.09.2017
09:40:45
хорошо
Fike
28.09.2017
09:40:57
ну вот и славно
Alexey
28.09.2017
09:41:15
вот https://bugs.mysql.com/bug.php?id=6742
но что интересно, багрепортер был в тех же самых заблуждениях, что и @etkee
был ещё worklog про это, если память не изменяет
да, вот он: https://dev.mysql.com/worklog/task/?id=3744
Pavel
28.09.2017
09:44:48
у меня сейчас нету потсгри под рукой, но мне удивительно что datetimetz хранит таймзону, если это действительно так то будет совсем другой разговор ;)
Alexey
28.09.2017
09:45:25
нет, не хранит
Pavel
28.09.2017
10:51:19
Вам не кажется что работать с json в БД это адовое говно? :D
Google
lost
28.09.2017
10:55:11
а потом обмажешься
Pavel
28.09.2017
10:57:25
Каждый раз в проекте вопреки моим возражениям суют данные в json, и проходят все стадии:
1) Ой как круто, не надо больше создавать этих таблиц со схемами и типизацией и тормозами, все работает в одном месте.
2) Давайте понапишем 100500 классов для парсинга всего этого добра.
3) Ой а чего это тут вместо числа 0 записывается пустой массив [] ? Ну ладно напишем скрипт фиксящий.
4) Ой, эти пустые массивы продолжают прибывать! Данные побиты, клиенты в ярости! Что же делать, прогромиировние это так трудно!
5) Нам нужна типизация данных! Давайте вкорячим json validation schema!
6) Вкорячили, теперь все тормозит :(
7) See point [1)] Wait, oh, shit, ...
Fike
28.09.2017
10:57:42
ну и как костыль для хранения небольшого массива атрибутов, чтобы избегать джойнов
lost
28.09.2017
10:58:57
Alexey
28.09.2017
11:53:55
Задайте этот вопрос Бартунову. Очень много красивых слов услышите о том, что json в постгресе - это наше всё
Задайте этот вопрос Зайцеву, он ответит, что все как обычно зависит от многих условий
Задайте этот вопрос Миловидову. Он вам ответит, что JSON - это вообще не данные, а мусор
Дальше выбирайте, какая точка зрения ближе идеологически :) потому что все правы
Pavel
28.09.2017
11:59:52
Ну как оно обычно и бывает в петле хайпа, количество вариантов где json использовать удобно и эффективно оказалось намного меньше чем мнгоие думают.
Alexey
28.09.2017
12:03:14
Сложно сказать, кто там чего думает. Индустрия в среднем по больнице стремительно тупеет, я не всегда успеваю следить
Но у json в рсубд есть свои применения. Мне кажется, их не так уж мало
Pavel
28.09.2017
12:07:31
Вот по моему наблюдению - проблемы json сильно перевешивают преимущества уже как минимум в двух случаях:
1) Когда в структуре json есть айдишники других колонок других таблиц, то есть потенциальный foreignKey
2) Когда в структуре json прослеживается более-менее постоянная схема, но этот факт не учитывают.
Alexey
28.09.2017
12:09:20
Да, он для других случаев
lost
28.09.2017
12:09:24
а ещё не всегда всё под капотом хорошо
Pavel
28.09.2017
12:10:15
lost
28.09.2017
12:11:30
Alexey
28.09.2017
12:14:15
Оракл показывал презентацию всех бонусов mysql 8 на примере конкретного приложения (продажа билетов). Json там тоже упоминается именно в этом контексте: массив атрибутов
Google
lost
28.09.2017
12:14:58
или после
Alexey
28.09.2017
12:15:17
Это было позавчера
lost
28.09.2017
12:16:57
им бы ещё в сторадже всяких фишечек наделать, и может быть уже жизнеспособно будет
Alexey
28.09.2017
12:18:25
У них в сторадже уже столько фишечек, что остальные будут ещё много лет догонять. Включая большой оракл :)
lost
28.09.2017
12:18:58
ммм, например? или есть где посмотреть/почитать?
Alexey
28.09.2017
12:21:15
Надо смотреть, выложили они презентацию или нет. Я с телефона, посмотрю позже
Power
28.09.2017
14:15:58
есть ли смысл разделять таблицы user когда много полей? на user_settings , user_profile
Pavel
28.09.2017
14:19:10
Если у тебя частая работа с легковесной таблицей user_profile и тяжелой user_settings, то да, имеет смысл. И сделать между ними отношение one-to-one
Я так делал, одна таблица users с 3-4 базовыми полями, которая все время дергается, и вторая таблица users_profile с кучей доп. полей, которые читаются только изредка.
Alexey
28.09.2017
16:25:43
lost
28.09.2017
16:47:49
индексацию json полноценную, без всяких generated columns , функциональные индексы, например
Alexey
28.09.2017
16:50:09
Ну во-первых это не сторадж в моём понимании. А во-вторых, generated columns в качестве функциональных индексов может выглядят не так красиво синтаксически, но в остальном, какие с этим проблемы?
lost
28.09.2017
17:08:35
Место лишнее занимают, как это что)
Плюс это не полноценная замена
Функции только детерменированные
Свои использовать нельзя
Pavel
28.09.2017
17:28:23
Sviat
28.09.2017
18:02:37
Привет
Google
lost
28.09.2017
18:09:02
Ваш гуи
Немного не гуит
(
Sviat
28.09.2017
18:12:48
Баг phpMyAdmin?
Или я не правильно все таки запрос сделал?
lost
28.09.2017
18:15:11
Если бы ты сделал запрос неверно ты бы не получил 10 записей
Pavel
28.09.2017
18:15:24
лучше проверить из консоли
lost
28.09.2017
18:15:44
Так из консоли все норм
Даже пруфы есть
Egor
28.09.2017
18:16:36
В консоли в запросе нет ORDER BY time
Sviat
28.09.2017
18:17:25
только порядок меняется
кстати в консоли тоже с ордер работает
Egor
28.09.2017
18:20:20
Действительно странно
Антон
28.09.2017
20:14:29
хай
можно задать вопрос?