metaclass: (Default)
[personal profile] metaclass
http://metaclass.livejournal.com/706440.html?thread=13096072#t13096072
Можно ли делать опердени не на RDBMS, не возвращаясь на уровень 70х годов, с иерархическими базами и прочими обработками на клиенте по курсорам?

Вариант "есть транзакции с ACID и есть оптимизированное по индексам выполнение filter/map/fold/reduce внутри базы" меня в принципе устроит. За исключением того, что SQL более лаконичен, вроде бы, если не делать внутри языка DSL аналогичный ему.


Например: select User_Name from Users where User_ID=?User_ID превращается во что-то вроде
let UserName UserID =
Users |> filter (fun u -> u.User_ID=UserID) |> map (fun u->u.User_Name) |> tryFirst

На LINQ же будет что-то вроде: from u in Users where u.User_ID=User_ID select u.User_Name

И все равно это же надо выполнять в СУБД, чтобы вся таблица не фетчилась на клиента или апп-сервер.

Date: 2012-07-01 10:55 am (UTC)
From: [identity profile] metaclass.livejournal.com
Для простых случаев и SQL хватает с ADO.NET
Речь о сложных, с 15-этажными джоинами, подзапросами, CTE и группировкой по критерию, введенному юзером )

Date: 2012-07-01 12:15 pm (UTC)
From: [identity profile] theiced.livejournal.com
не нужны 15этажные джоины. они говно.

Date: 2012-07-01 03:12 pm (UTC)
From: [identity profile] denisioru.livejournal.com
А что в них плохого? То, что оптимизатор interbase не может переварить запрос сложнее select * from mytable where id=123 ?

Date: 2012-07-01 04:18 pm (UTC)
From: [identity profile] metaclass.livejournal.com
mysql не умеет, firebird умеет )

Date: 2012-07-01 12:43 pm (UTC)
From: [identity profile] w00dy.livejournal.com
ребе, эти 15 этажные запросы потом никто поддерживать не сможет, не говоря уже о том чтобы разобраться. Не, за много денег конечно разберутся, но проще будет выкинуть к хуям и переписать заново.

Date: 2012-07-01 12:47 pm (UTC)
From: [identity profile] berezovsky.livejournal.com
как вы красиво говорите

Date: 2012-07-01 04:15 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Ну так любой софт "никто не сможет поддерживать", если ориентироваться на рукожопиков с улицы.

Date: 2012-07-01 10:02 pm (UTC)
From: [identity profile] w00dy.livejournal.com
Так ведь оно так и есть. Народ с улицы рукожоп и к снаряду подходить не умеет. Дык кто поддерживать то будет когда вас в дурку заберут?

Date: 2012-07-01 10:30 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Т.е. обслуживать не смогут, вне зависимости - напишу я SQL запрос на две страницы, или на пять страниц то же самое вне СУБД. Так чего я буду ради абстрактных целей себе жизнь усложнять?

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Oct. 10th, 2025 07:59 am
Powered by Dreamwidth Studios