@rubylang

Страница 1435 из 1684
Anna
23.03.2018
14:26:14
просто положу на всякий случай

Александр
23.03.2018
14:26:44
Ну вот джойном только одно пересечение можно получить

По крайней мере, я не знаю как иначе

ojab
23.03.2018
14:28:05
Посмотри explain analize с обоими субселектами, а потом посмотри его же с одним джойном. Поймёшь, что тебе не нужен join.

Google
ojab
23.03.2018
14:28:14
если тебе нужны только юзеры

Александр
23.03.2018
14:28:32
Смотрел)

ojab
23.03.2018
14:29:00
и джойнить быстрее?

тогда User.joins(:favorite_items, :viewable_items).where(favorite_items: { user_id: user }).or.where(viewable_items: { user_id: user })

Vasiliy
23.03.2018
14:30:40
ожаб, раз уж речь зашла

Александр
23.03.2018
14:30:43
serializer = AccountSerializer.new(user, {scope: current_user} )
ну я примерно так и накостылял

Vasiliy
23.03.2018
14:31:03
если субселекты быстрее то в каких случаях тогда джоин выигрывает у сабселекта?

Александр
23.03.2018
14:31:07
тогда User.joins(:favorite_items, :viewable_items).where(favorite_items: { user_id: user }).or.where(viewable_items: { user_id: user })
Так получается, что второе пересечение берется из первого

А, нет, не внимательно посмотрел

ojab
23.03.2018
14:32:11
если субселекты быстрее то в каких случаях тогда джоин выигрывает у сабселекта?
когда нужны заджойненные данные или субселекты сложные.

но вообще надо explain analize смотреть и решать по ситуации

Александр
23.03.2018
14:32:50
а пробовал user.favorited_user_ids?

Vasiliy
23.03.2018
14:32:54
а, точно, при сабселекте мы ж к данным не имеет доступа

Google
ojab
23.03.2018
14:32:54
(и я про postgres, остальных местах может быть по-другому)

Vasiliy
23.03.2018
14:33:35
да я как-то тоже советовал чуваку джоины, кто-то предложил сабселект и был немного удивлен что джоины на столько тормозные

ну т.е. я потом померил результаты запросов

ojab
23.03.2018
14:34:09
ну, для джойна в общем случае надо построить временную таблицу со всеми развёрнутыми записями.

так что неудивительно

а субселект в общем случае — пересечение индексов

Александр
23.03.2018
14:35:46
То есть с сабселектом нормальное решение?

ojab
23.03.2018
14:37:19
ну, ничего плохого в этом нет. Но, опять же, explain analyze.

Vasiliy
23.03.2018
14:38:17
а, к примеру, если запрос очень длинный, от этого ничего? ну т.е. ты сделал выборку идов юзеров, и потом запрос с этими идами делаешь, а там из дохуища, типа User.where(id: user_ids)

ojab
23.03.2018
14:40:01
в общем случае ок, ибо оно тот же index scan сделает, но хуже чем subselect.

Александр
23.03.2018
14:41:09
тогда User.joins(:favorite_items, :viewable_items).where(favorite_items: { user_id: user }).or.where(viewable_items: { user_id: user })
Хотя нет, я был прав, от предыдущего пересечения будет

Там будет такой запрос SELECT COUNT(DISTINCT "users"."id") FROM "users" INNER JOIN "favorite_items" ON "favorite_items"."user_id" = "users"."id" INNER JOIN "viewed_items" ON "viewed_items"."user_id" = "users"."id" WHERE (favorite_items.user_id = 2 OR viewed_items.user_id = 2)

ojab
23.03.2018
14:42:14
ну left_joins, да.

хотя хз как оно развернётся

Александр
23.03.2018
14:45:15
Тоже не то, по крайней мере, у варианта с User.where(id: ).or(id: ) совершенно другой ответ

В общем, оставлю здоровенную хуйню из сабселектов

ojab
23.03.2018
14:46:53
А что мешает ассоциации сделать, чтобы можно было user.favorited_user_ids делать?

Александр
23.03.2018
14:48:51
Там, конечно, можно, но это все превращается в большой запрос с тем же джойном

Там, конечно, можно, но это все превращается в большой запрос с тем же джойном
А нет, будет тот же самый сабселект) только короче, да

Google
Александр
23.03.2018
15:10:00
Вот в такие моменты ощущается нехваток теории, может, подскажете какую литературу? И общую, и postgres

Zamira
23.03.2018
16:52:08
Я же как бэкендщик могу тупить по фронту? У меня возможно немного тупой вопрос. Как в simple_form добавить кнопку не типа submit?

Aleksey
23.03.2018
16:55:44
Вручную внутри формы добавить можно все что угодно

Artem
23.03.2018
17:40:15
Всем доброго вечера

Есть проект, стоит в продакшене на довольно большой бд на постгресе

Сделали новую версию с небольшими изменениями в структуре бд, и нужно теперь запустить их паралельно

pny
23.03.2018
17:41:35
Довольно большой это сколько?

Artem
23.03.2018
17:41:47
В бд только добавили столбцы

Ничего не удалялось

Гигов на 250

В последствии старую версию нужно будет убить

В распоряжении 2 машины

Обе в локалке

pny
23.03.2018
17:43:42
Гигов на 250
trollface.jpg

че большого то?

Artem
23.03.2018
17:45:58
Суть даже не в этом

Обе версии должны в одной бд крутится

С возможностью потом убить одну из них

Без переносов бд

pny
23.03.2018
17:47:11
А есть проблема сделать так что бы обе версии одну схему умели?

Google
Artem
23.03.2018
17:48:27
Нет

pny
23.03.2018
17:49:14
Ну вот

Artem
23.03.2018
17:50:00
Нужно сделать репликацию мастер мастер я правильно понимаю?

pny
23.03.2018
17:51:02
Дык нафига ваще репликация?

Две приложухи ходят в одну бд

Artem
23.03.2018
17:52:49
Один сервер со старой бд нужно будет убрать, соответственно нужно перенести бд на новый сервер, как это сделать быстро без потери работоспособности?

pny
23.03.2018
18:02:53
А это уже не рубишная тема :(

ojab
23.03.2018
18:42:11
проще всего поднять слейв и сделать его мастером

даунтайм будет в любом случае

Denis
24.03.2018
20:05:20
Почему если я использою remote: true форму не работает redirect_to?

Zamira
24.03.2018
20:08:19
Denis
24.03.2018
20:08:41
окей. а как заставить тогда рабоать?



Zamira
24.03.2018
20:09:13
А не редиректят с аякса. Это же нужно как раз что бы что-то сделать оставаясь на текущей странице

Denis
24.03.2018
20:10:03
render json передается в js и выполняется

Zamira
24.03.2018
20:10:06
А что ты хочешь вообще реализовать? Зачем делаешь Аякс запрос если нужно потом редиректить?

Denis
24.03.2018
20:10:19


Вывод сообщения и редикт

Zamira
24.03.2018
20:11:52
Это тогда вот здесь надо писать после вывода сообщения переход по нужному адресу. Иначе никак

Denis
24.03.2018
20:12:24
окей. вроде понял

Google
Zamira
24.03.2018
20:13:12
Только я уже не подскажут как яваскриптом делать переход по адресу. Я бэкендщик ?

Denis
24.03.2018
20:13:13
А выйдет сделать чтобы сначала перешел переход на страницу новую а потом вывелось сообщение?

Denis
24.03.2018
20:14:04
Просто хотел чтобы уже все через одну либу делалось коряво будет если половина через flash

Zamira
24.03.2018
20:14:05
Делаешь обычный запрос. При редиректе передаешь сообщение для флэшки

Ну не флеш а что то другое

Не суть

Главное при редитекте можешь сообщение передать параметром

А там уже на document load выводить сообщение как хочешь

Норм?

Denis
24.03.2018
20:20:36
да норм

делаю редирект через js

Astro
25.03.2018
06:49:53
Good morning friends.

Can I ask one question from Korea ?

Aldar
25.03.2018
07:22:28
Only if you are from the North Korea

Lavrushchik
25.03.2018
11:28:41
блин. увидел про корею и забыл, что хотел спросить)

слуште, есть sitemap_generator под рельсы, и там пингуются поисковики гугла и бинда. как яндекса добавить?

Страница 1435 из 1684