Size: a a a

2020 April 29

Дt

Дмитрий texnix 🇨🇳 in sql_ninja
плюсы-  это пожрать можно вволю?
источник

TS

Tim Safari in sql_ninja
Gopneg
кстати она вполне конкурентоспособная, для своих целей %)
ну, сейчас вроде уже догоняем, ага...
источник

TS

Tim Safari in sql_ninja
Дмитрий texnix 🇨🇳
плюсы-  это пожрать можно вволю?
поржать, вообще-то: за анекдоты не садят, вроде.. )
источник

G

Gopneg in sql_ninja
Дмитрий texnix 🇨🇳
и это всё было как раз когда создавалась срочная конфа в скайпе по коронавирусу всех главврачей
диверсия!
источник

L

Les in sql_ninja
поставил лайк статье
источник

TS

Tim Safari in sql_ninja
Les
поставил лайк статье
спасибо тебе ) у меня ридонли)
источник

MC

Max Chistyakov in sql_ninja
Простите, что отвлекаю от Гуриев и процессоров Эльбрус. У меня наркоманский вопрос.

Не опытен в работе с запросами из C#, java, go, поэтому хочу знать - придумали ли люди такой механизм, который крутится у меня в голове. Вот, есть вьюха. Можно ли сделать так, чтобы не нужно было писать классический
SELECT A
, B
, C
, D
from dbo.myView
 в Statement, чтобы вызывать executeQuery по нему. Есть ли какие-то готовые методы в любом из этих языков, чтобы то же самое можно было написать примерно  
SqlStatement stmt = connection.SqlStatement;
stmt.queryFrom(dbo.myView);
stmt.setColumn(A);
stmt.setColumn(D);
stmt.setColumn(C);
stmt.setColumn(D);
ResultSet rs = stmt.executeQuery
Зачем надо? Повадились гошники запросы писать свои и кидать их в мою нежную БД. Хочу дать им метод, чтобы они не писали лишних селектов и не изобретали, и не жаловались что в разных ситуациях селект разный. То есть, есть пара десятков ситуаций, где один и тот же запрос, но немного варьируется какие колонки он забирает из резалт сета. Запрос они кидают везде с одинаковым набором колонок, а забирают процентов 10 из них. Так как поля находятся в разных таблицах,  то каждый раз совершается овердофига  лишних соединений, тянутся лишние столбцы по сети, и 90%  работы (тяжёловатой) идёт впустую.
Думаю, правильно было бы сделать метод, который принимает на вход набор полей,  этот набор полей указывает в SQL запросе, и к этому же  набору полей обращается в резалт сете  — чтобы не дублировать руками их названия. Понимаю, что проще было бы эти поля по имени конкатенировать в селект, но может есть решение изящнее.
источник

G

Gopneg in sql_ninja
Max Chistyakov
Простите, что отвлекаю от Гуриев и процессоров Эльбрус. У меня наркоманский вопрос.

Не опытен в работе с запросами из C#, java, go, поэтому хочу знать - придумали ли люди такой механизм, который крутится у меня в голове. Вот, есть вьюха. Можно ли сделать так, чтобы не нужно было писать классический
SELECT A
, B
, C
, D
from dbo.myView
 в Statement, чтобы вызывать executeQuery по нему. Есть ли какие-то готовые методы в любом из этих языков, чтобы то же самое можно было написать примерно  
SqlStatement stmt = connection.SqlStatement;
stmt.queryFrom(dbo.myView);
stmt.setColumn(A);
stmt.setColumn(D);
stmt.setColumn(C);
stmt.setColumn(D);
ResultSet rs = stmt.executeQuery
Зачем надо? Повадились гошники запросы писать свои и кидать их в мою нежную БД. Хочу дать им метод, чтобы они не писали лишних селектов и не изобретали, и не жаловались что в разных ситуациях селект разный. То есть, есть пара десятков ситуаций, где один и тот же запрос, но немного варьируется какие колонки он забирает из резалт сета. Запрос они кидают везде с одинаковым набором колонок, а забирают процентов 10 из них. Так как поля находятся в разных таблицах,  то каждый раз совершается овердофига  лишних соединений, тянутся лишние столбцы по сети, и 90%  работы (тяжёловатой) идёт впустую.
Думаю, правильно было бы сделать метод, который принимает на вход набор полей,  этот набор полей указывает в SQL запросе, и к этому же  набору полей обращается в резалт сете  — чтобы не дублировать руками их названия. Понимаю, что проще было бы эти поля по имени конкатенировать в селект, но может есть решение изящнее.
если они тупые, то ничо не поможет
источник

G

Gopneg in sql_ninja
а так можно сделать орм и высунуть для них только конкретные селекты
источник

G

Gopneg in sql_ninja
но тогда есть шанс что какой-то долбоеб сделает .ToList() сначала, а потом зафильтрует
и будет еще хуже когда террабайтная таблица на клиента поедет %)
источник

Дt

Дмитрий texnix 🇨🇳 in sql_ninja
Max Chistyakov
Простите, что отвлекаю от Гуриев и процессоров Эльбрус. У меня наркоманский вопрос.

Не опытен в работе с запросами из C#, java, go, поэтому хочу знать - придумали ли люди такой механизм, который крутится у меня в голове. Вот, есть вьюха. Можно ли сделать так, чтобы не нужно было писать классический
SELECT A
, B
, C
, D
from dbo.myView
 в Statement, чтобы вызывать executeQuery по нему. Есть ли какие-то готовые методы в любом из этих языков, чтобы то же самое можно было написать примерно  
SqlStatement stmt = connection.SqlStatement;
stmt.queryFrom(dbo.myView);
stmt.setColumn(A);
stmt.setColumn(D);
stmt.setColumn(C);
stmt.setColumn(D);
ResultSet rs = stmt.executeQuery
Зачем надо? Повадились гошники запросы писать свои и кидать их в мою нежную БД. Хочу дать им метод, чтобы они не писали лишних селектов и не изобретали, и не жаловались что в разных ситуациях селект разный. То есть, есть пара десятков ситуаций, где один и тот же запрос, но немного варьируется какие колонки он забирает из резалт сета. Запрос они кидают везде с одинаковым набором колонок, а забирают процентов 10 из них. Так как поля находятся в разных таблицах,  то каждый раз совершается овердофига  лишних соединений, тянутся лишние столбцы по сети, и 90%  работы (тяжёловатой) идёт впустую.
Думаю, правильно было бы сделать метод, который принимает на вход набор полей,  этот набор полей указывает в SQL запросе, и к этому же  набору полей обращается в резалт сете  — чтобы не дублировать руками их названия. Понимаю, что проще было бы эти поля по имени конкатенировать в селект, но может есть решение изящнее.
я бы написал интерфейс на делфи для них, где уже выбирал то что закажут с конекшенов
источник

Дt

Дмитрий texnix 🇨🇳 in sql_ninja
нахрена им прямой доступ к базе
источник

G

Gopneg in sql_ninja
может вьюшки им сделаешь лучше?
источник

TS

Tim Safari in sql_ninja
Max Chistyakov
Простите, что отвлекаю от Гуриев и процессоров Эльбрус. У меня наркоманский вопрос.

Не опытен в работе с запросами из C#, java, go, поэтому хочу знать - придумали ли люди такой механизм, который крутится у меня в голове. Вот, есть вьюха. Можно ли сделать так, чтобы не нужно было писать классический
SELECT A
, B
, C
, D
from dbo.myView
 в Statement, чтобы вызывать executeQuery по нему. Есть ли какие-то готовые методы в любом из этих языков, чтобы то же самое можно было написать примерно  
SqlStatement stmt = connection.SqlStatement;
stmt.queryFrom(dbo.myView);
stmt.setColumn(A);
stmt.setColumn(D);
stmt.setColumn(C);
stmt.setColumn(D);
ResultSet rs = stmt.executeQuery
Зачем надо? Повадились гошники запросы писать свои и кидать их в мою нежную БД. Хочу дать им метод, чтобы они не писали лишних селектов и не изобретали, и не жаловались что в разных ситуациях селект разный. То есть, есть пара десятков ситуаций, где один и тот же запрос, но немного варьируется какие колонки он забирает из резалт сета. Запрос они кидают везде с одинаковым набором колонок, а забирают процентов 10 из них. Так как поля находятся в разных таблицах,  то каждый раз совершается овердофига  лишних соединений, тянутся лишние столбцы по сети, и 90%  работы (тяжёловатой) идёт впустую.
Думаю, правильно было бы сделать метод, который принимает на вход набор полей,  этот набор полей указывает в SQL запросе, и к этому же  набору полей обращается в резалт сете  — чтобы не дублировать руками их названия. Понимаю, что проще было бы эти поля по имени конкатенировать в селект, но может есть решение изящнее.
сделай несколько методов, которые дергают соответствующий селект
источник

MC

Max Chistyakov in sql_ninja
Дмитрий texnix 🇨🇳
нахрена им прямой доступ к базе
это надо, так как данные из базы обрабатываются и участвуют в дальнейшем  бизнес процессе.
Другое дело, что они обращаются напрямую к таблицам, а я хочу сделать им вьюхи/табличные функции для этого
источник

Дt

Дмитрий texnix 🇨🇳 in sql_ninja
если они один и тот же запрос запускают - то создай отдельную таблицу, в которую каждую минуту /час докидывай данные новые из этого запроса
источник

Дt

Дмитрий texnix 🇨🇳 in sql_ninja
и они пусть эту таблицу и смотрят
источник

MC

Max Chistyakov in sql_ninja
Дмитрий texnix 🇨🇳
если они один и тот же запрос запускают - то создай отдельную таблицу, в которую каждую минуту /час докидывай данные новые из этого запроса
уже так) просто в зависимости от типа сущности в этой промежуточной таблицы, нужны разные поля в запросе => запрос немного видоизменяется на стороне го
источник

Дt

Дмитрий texnix 🇨🇳 in sql_ninja
тогда процедура возвращающая таблицу, а внутри динамический запрос
источник

MC

Max Chistyakov in sql_ninja
сложно поддерживать будет
Динамический запрос - это всегда весело (но не для того, кто потом его поддерживает)
источник