Size: a a a

Clojure — русскоговорящее сообщество

2020 February 20

p

programmist ⌨️ in Clojure — русскоговорящее сообщество
Владислав Петров
Хмм... а может эти 800 значений в таблицу сунуть?
Когда зовут из приложения, там уже всё, список id, не могут.
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
Владислав Петров
Хмм... а может эти 800 значений в таблицу сунуть?
там нет большой разницы, в любом случае там надо просканировать что-то на 800 значений
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
programmist ⌨️
"Обычный запрос" может быть .... WHERE id IN (...800 значений...). Всё, приехали)
Видал код на проде который шпарит по 10к+ значений во where, в целом — настраивается. Зачем так — вопрос другой.
источник

p

programmist ⌨️ in Clojure — русскоговорящее сообщество
programmist ⌨️
Когда зовут из приложения, там уже всё, список id, не могут.
А когда эти выборки на стороне БД, то да, они сразу из таблиц.
источник

p

programmist ⌨️ in Clojure — русскоговорящее сообщество
Maxim Penzin
там нет большой разницы, в любом случае там надо просканировать что-то на 800 значений
не-а ))
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
то есть?
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
там будет hash-join (или как-то так это называется)
источник

ВП

Владислав Петров in Clojure — русскоговорящее сообщество
Maxim Penzin
там нет большой разницы, в любом случае там надо просканировать что-то на 800 значений
Но ведь тогда мы заново изобретаем бд получается)
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
Vlad 💩
а какие минусы вы можете назвать?
Тесты, логи, версионирование, дебильноватые языки, обработка ошибок, отладка.
источник

p

programmist ⌨️ in Clojure — русскоговорящее сообщество
То есть WHERE, который я написал, это либо UPDATE, либо SELECT и то и другое будет работать быстрее сильно опираясь на данные из другой таблицы, нежели на прямое перечисление id в условии.
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
Владислав Петров
Но ведь тогда мы заново изобретаем бд получается)
ммм... не понял.
бд это просто способ хранить данные с целью запрашивать потом их.
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
если вам надо выборку по 1000 значений, то вам придется 1000 раз сходить по индексу (но вот тут-то и можно немного пооптимизировать!)
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
Oleg Roshchupkin
Тесты, логи, версионирование, дебильноватые языки, обработка ошибок, отладка.
Это ещё про деплой не думалось особо. Вероятно местами будет тяжело обойтись без даунтайма.
источник

ВП

Владислав Петров in Clojure — русскоговорящее сообщество
Maxim Penzin
ммм... не понял.
бд это просто способ хранить данные с целью запрашивать потом их.
Я имею ввиду субд. Субд и придумали, чтоб не самому писать проверку значений в цикле, а абстрагироваться и просто сказать что ты хочешь получить, а не как)
источник

p

programmist ⌨️ in Clojure — русскоговорящее сообщество
Oleg Roshchupkin
Тесты, логи, версионирование, дебильноватые языки, обработка ошибок, отладка.
Только тесты. Лог можно писать куда угодно. Версионирование, есть. Обработка ошибок даже лучше, RAISE EXCEPTION, гарантированная транзакционность и т. д. Отладка точно такая же.
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
Oleg Roshchupkin
Это ещё про деплой не думалось особо. Вероятно местами будет тяжело обойтись без даунтайма.
это в смысле, как задеплоить 100 обновленных кусков без особого даунтайма?
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
Владислав Петров
Я имею ввиду субд. Субд и придумали, чтоб не самому писать проверку значений в цикле, а абстрагироваться и просто сказать что ты хочешь получить, а не как)
а в триггерах циклы очень даже используются
источник

p

programmist ⌨️ in Clojure — русскоговорящее сообщество
Oleg Roshchupkin
Это ещё про деплой не думалось особо. Вероятно местами будет тяжело обойтись без даунтайма.
Нужен конкретный пример, так разговаривать беспредметно.
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
Да я и не хочу особо, у вас всё хорошо, a у меня иная точка зрения — зачем препираться
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
Если бизнес-логика не уползает в процедуры — может и можно жить. Но что-то мне подсказывает...
источник