@mysql_ru

Страница 77 из 142
Fike
28.09.2017
09:29:16
у самого таймстампа может быть только UTC; думаю, с этим согласны все, поэтому непосредственно хранить таймзону таймстампа - это бессмысленно

если дейттайм внутри движка хранится в виде таймстампа - да, я занимаю позицию, что кроме таймстампа в этой структуре должна лежать еще таймзона, в которую конвертировать обратно, чтобы дейттайм можно было вернуть в исходном виде

Alexey
28.09.2017
09:30:11
а календарь как же? а примеры из статьи?

Google
Fike
28.09.2017
09:31:11
это всё никак не коррелирует с SQL и стандартами; я говорю про то, как он должно быть по моим представлениям. на всякий еще раз отмечу, что sql - это не предел мира, и вокруг куча хранилищ, которые с SQL никак не пересекаются

в том числе, я не знаю точно, как это реализовано внутри постгре, но, насколько понимаю, DATETIME WITH TZ там сохраняет таймзону согласно описанному выше принципу - и да, это хорошо

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
я думал у таймстампа может быть любое время...
таймстамп - это количество секунд с начала unix epoch. де-факто у него вообще нет таймзоны, просто это количество можно приплюсовать к 1970 и получить соответствующее время в UTC

мне кажется, это ты завёлся

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
Вам не кажется что работать с json в БД это адовое говно? :D
при каком-нибудь event sourcing выбора особого нет, разве что на другой формат сменить

ну и как костыль для хранения небольшого массива атрибутов, чтобы избегать джойнов

lost
28.09.2017
10:58:57
ну и как костыль для хранения небольшого массива атрибутов, чтобы избегать джойнов
особенно когда в mysql вообще нет такого объекта как массив

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
Для массива атрибутов согласен, почти идеальный вариант :)
для тех кто часто сталкивался с хранимками которая в цикле идет по строковому массиву и что-то делает - это просто 10 оргазмов и прыжок с парашютом одновременно

Alexey
28.09.2017
12:14:15
Оракл показывал презентацию всех бонусов mysql 8 на примере конкретного приложения (продажа билетов). Json там тоже упоминается именно в этом контексте: массив атрибутов

Google
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
есть ли смысл разделять таблицы user когда много полей? на user_settings , user_profile
Смотря какую конкретную проблему решаем. А если нет проблемы, то не надо

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
индексацию json полноценную, без всяких generated columns , функциональные индексы, например
Если это там выше объявлялось как фишечки которые другим догонять то ой ой :(

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
хай

можно задать вопрос?

Страница 77 из 142