Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4] 5 6 7 8 9 10 .. 54   вперед  Ctrl
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
копье-ломатель
Guest
sphinx_mv
копье-ломатель
И всерано оракл лучше чем мсскуэл.
А вот "индейскую национальную избу" Вам

Взаимно



Коллеги уже прокоментировали вюхи, я с ними согласен.


sphinx_mv
И на глюки в ORACLE при использовании ANSI JOINов в запросах "народ" (периодически) жалуется... Где-то тут пробегало...





ДОКА
Oracle recommends that you use the FROM clause OUTER JOIN syntax rather than the Oracle join operator. Outer join queries that use the Oracle join operator (+) are subject to the following rules and restrictions, which do not apply to the FROM clause OUTER JOIN syntax:


Но мыши продолжали колоться......

sphinx_mv
В-обсчем, не настолько все гладко в королестве Датском...


Да не все гладко, я так думаю ИМХО за это оракловые админы и програмеры получают в среднем больше чем MSSQL-ные.
7 окт 13, 20:14    [14936099]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
sphinx_mv
Member [заблокирован]

Откуда:
Сообщений: 1672
Yo.!
sphinx_mv
Рассмотрим простую ("жЫзненную") ситуацию...
Есть несколько часто используемых в рамках системы нетривиальных запросов, которые "обернуты" (по разным соображениям) в представления (ака, вьюхи). Ставится задача объединить (при-JOIN'ить) эти представления в одном запросе. И что скажет по поводу этого оптимизатор Oracle? Да ему просто крышу снесет! :)

смешно, учитывая что в серьезных проектах обращаться мимо вью полиси запрещают и любой запрос джоинит минимум 20 таблиц
Ну, давайте посмеемся вместе. Особенно с учетом того, что вопрос-то не про джойны таблиц - с ними-то все как-то более/менее ОК...
Было бы интересно послушать чего-нибудь про джойны 20... Нет 20 - это очень много... Пусть всего 5 вьюх (каждая хотя бы всего по 3-4 таблицы - с индексами, с собранной статистикой и прочими шлюхами и блэкджеком). Скажете чего в опровержение "заскоков" ораклового оптимизатора? "Терзают смутные сомнения" (с)
7 окт 13, 21:04    [14936286]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
Yo.!
Guest
sphinx_mv
Ну, давайте посмеемся вместе. Особенно с учетом того, что вопрос-то не про джойны таблиц - с ними-то все как-то более/менее ОК...
Было бы интересно послушать чего-нибудь про джойны 20... Нет 20 - это очень много... Пусть всего 5 вьюх (каждая хотя бы всего по 3-4 таблицы - с индексами, с собранной статистикой и прочими шлюхами и блэкджеком). Скажете чего в опровержение "заскоков" ораклового оптимизатора? "Терзают смутные сомнения" (с)

скажу, что у вас руки из жопы растут, если испытываете с этим проблемы. сейчас работаю в проекте где нафигачили три слоя, любое телодвижение штук 20 вью дергает и оптимизатор справляется.
а опровержение стоит спрашивать не у меня, а на sap-sd benchmarks, где мсскл позорно сливает всем конкурентам.
7 окт 13, 21:30    [14936340]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
sphinx_mv
Member [заблокирован]

Откуда:
Сообщений: 1672
Yo.!
sphinx_mv
Ну, давайте посмеемся вместе. Особенно с учетом того, что вопрос-то не про джойны таблиц - с ними-то все как-то более/менее ОК...
Было бы интересно послушать чего-нибудь про джойны 20... Нет 20 - это очень много... Пусть всего 5 вьюх (каждая хотя бы всего по 3-4 таблицы - с индексами, с собранной статистикой и прочими шлюхами и блэкджеком). Скажете чего в опровержение "заскоков" ораклового оптимизатора? "Терзают смутные сомнения" (с)

скажу, что у вас руки из жопы растут, если испытываете с этим проблемы.
Понятно. Сказать Вам непосредственно по вопросу и вменяемого нечего. Риторический вопрос: и чего бы высовываться-то было?!

Были очерчена простая задача с очень простыми условиями и, что самое парадоксальное, с гарантированным легко воспроизводимым результатом! И в рамках этой задачи MSSQL (в отличие от Oracle) ведет себя адекватно - независимо от кривизны рук запросописателей. Ну, вот не научился Oracle автоматически полностью "разворачивать" запросы, состоящие из вьюх, до уровня таблиц - и все тут.
Yo.!
сейчас работаю в проекте где нафигачили три слоя, любое телодвижение штук 20 вью дергает и оптимизатор справляется.
Ну, и к теме "рук"... Они у Вас, может, и "правильно" растут. Вот только "три слоя в проекте" к БД соотносятся слабо...
Yo.!
а опровержение стоит спрашивать не у меня, а на sap-sd benchmarks, где мсскл позорно сливает всем конкурентам.
По какому параметру? По уровню кривизны рук "саперов"? Я как бы в курсе того, как глюки разработчиков серверов приложений влияют на сервер БД. Не понятно только при чем здесь MSSQL?

И на тему производительности.
Есть такая некоммерческая организация - Transaction Processing Performance Council, на котором публикуются тесты производительности для разных серверов БД на разном железе в разном разрезе для разных классов приложений. Сугубо к Вашему сведению - MSSQL вполне нестыдно смотрится на фоне всех представленных результатов.
7 окт 13, 23:12    [14936754]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
Alexander Ryndin
Member

Откуда:
Сообщений: 4919
Блог
Yo.!
sphinx_mv
Ну, давайте посмеемся вместе. Особенно с учетом того, что вопрос-то не про джойны таблиц - с ними-то все как-то более/менее ОК...
Было бы интересно послушать чего-нибудь про джойны 20... Нет 20 - это очень много... Пусть всего 5 вьюх (каждая хотя бы всего по 3-4 таблицы - с индексами, с собранной статистикой и прочими шлюхами и блэкджеком). Скажете чего в опровержение "заскоков" ораклового оптимизатора? "Терзают смутные сомнения" (с)

скажу, что у вас руки из жопы растут
Жестко, но точнее не скажешь. :)
7 окт 13, 23:12    [14936757]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
sphinx_mv
Member [заблокирован]

Откуда:
Сообщений: 1672
Alexander Ryndin
Yo.!
пропущено...

скажу, что у вас руки из жопы растут
Жестко, но точнее не скажешь. :)
Вы бы свои руки себе куда-нибудь в более правильное место перешили - то Вы ADO.NET не можете использовать, то у Вас использование OLEDB сложно програмируется...
7 окт 13, 23:17    [14936787]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
Alexander Ryndin
Member

Откуда:
Сообщений: 4919
Блог
sphinx_mv
Alexander Ryndin
пропущено...
Жестко, но точнее не скажешь. :)
Вы бы свои руки себе куда-нибудь в более правильное место перешили - то Вы ADO.NET не можете использовать, то у Вас использование OLEDB сложно програмируется...
Боюсь у вас белочка. Где это я про ADO.NET и OLEDB писал?
7 окт 13, 23:26    [14936821]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
Yo.!
Guest
sphinx_mv,

мальчик, я в этом разделе уже минимум 10 лет обсуждаю тесты TPC
факты вещь упрямая, половина финансового мира крутиться на оракловой базе, а там запросики слегка посложней, чем 5 вьюшек.
7 окт 13, 23:49    [14936920]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
sphinx_mv
Member [заблокирован]

Откуда:
Сообщений: 1672
Alexander Ryndin
sphinx_mv
то Вы ADO.NET не можете использовать, то у Вас использование OLEDB сложно програмируется...
Где это я про ADO.NET и OLEDB писал?
За это - извиняюсь. Погорячился не по адресу...

Но за "руки" - не дождетесь!
По крайней мере, до тех пор, пока Вы не осчастливите человечество инфой, начиная с какой версии Oracle и в связи с чем "внезапно" появился функционал, разворачивающий текст запросов с участием вьюх до уровня таблиц (ну, вот это - DBMS_UTILITY.EXPAND_SQL_TEXT)?
Тем более, что с подобными запросами у Oracle, типа, "ну, категорически никогда не было проблем" (а у кого эти проблемы были - так те "криворукие").
8 окт 13, 01:08    [14937060]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
sphinx_mv
Member [заблокирован]

Откуда:
Сообщений: 1672
Yo.!
sphinx_mv,

мальчик, я в этом разделе уже минимум 10 лет обсуждаю тесты TPC
факты вещь упрямая, половина финансового мира крутиться на оракловой базе, а там запросики слегка посложней, чем 5 вьюшек.
Деточка! Ты уже попробовала сделать первый шаг и связать в одном запросе 5 вьюшек на 3-4 таблицы в каждой и посмотреть, какой там план оптимизатор "нагенерирует" при любых индексах, с собраной статистикой, с любыми "накручеными" хинтами? Или все так же будешь сопли жевать?

ЗЫ. И не надо про прозорливость "финансового мира" военные песни петь: с 2008 года экономика что в Штатах, что в Европе выбраться из жопы не может, не говоря уже о всяких других странах третьего мира - и не помогли никакие суперкластера на оракулах, стоимость одной транзакции для которых можете взять из результатов тестов, которые Вы, типа, тут обсуждаете х.з. сколько времени.
8 окт 13, 01:11    [14937062]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
Alexander Ryndin
Member

Откуда:
Сообщений: 4919
Блог
sphinx_mv,

давайте пример
-- создаем view
create or replace view hr.emp_view as 
select * from hr.employees natural join hr.departments;

-- следующие 2 запроса имеют одинаковый план
select * from hr.emp_view where department_id=30;
select * from hr.employees natural join hr.departments where department_id=30;

Не понимаю, где здесь в плане "неразвернутые view". Ну и, вообще, я принципиально не понимаю, как можно выполнять запрос, не развернув view до уровня таблиц. Просвятите.

К сообщению приложен файл. Размер - 37Kb
8 окт 13, 01:45    [14937091]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
17-77
Member

Откуда:
Сообщений: 1510
Оракл тупой:
* Элементарная операция - подать в хранимку строку со списоком ид, а затем вытащить записи с where in (список ид) - в ms sql гуглится за 10 минут, первая страница поиска. Для оракла не могу найти уже пару дней, испробовал кучу вариантов со sql-ru, стек-оверфлоу и ask-tom - ничего не работает, постоянно выдает всякую хрень от "оператор игнорирован" до "в запросе нельзя использовать таблицы" и "неизвестный тип", хотя тип определен в заголовке пакаджа и отдельная мини-функция возвращающая этот тип - компилируется
* не умеет использовать функции в запросе в разделе where, обернутом курсором, если курсор убрать - все компилируется и работает

Оракл заставляет писать говно код:
* Приватные процедуры и функции, объявленные внутри публичной процедуры - была хранимка, с говнокодом, я решил ее переписать красиво, переписал, разделил на блоки, сделал легко читаемой, разбил на мелкие методы-процедуры-функции - не компилируется, выяснилось, что оракл не видит функцию, объявленную ниже ее места использования. Мне пришлось перевернуть код, объявления функций стали идти снизу вверх. Кто читает снизу вверх? КТО? Всегда все идут от общего к частному и детальные функции идут ниже общих. Почти все человечество читает сверху вниз. Почему я оракл заставляет меня писать нечитаемый говно-код? После этого я взглянул на изначальный вариант хранимки с сожалением - человеку просто не оставили выбора.
8 окт 13, 07:33    [14937250]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
iv_an_ru
Member

Откуда: Новосибирск
Сообщений: 20368
OYM
MS SQL настолько удобен и комфортен, что проблема СУБД не должна стоят. Однако, у многих такая проблема стоит. Не могу понять отчего.
Во-первых, если все сядут на какого-то одного вендора, исчезнет повод для холиваров, а это плохо. Поэтому некоторые люди жертвуют своими временем и деньгами, чтобы принести окружающим радость живого человеческого сра.. общения.

Во-вторых, для любого вендора можно придумать задачу, на которую он чхать хотел, но которая привлекла кого-то другого. Причём "чхать хотел" --- это в 90% случаев не придурь, а тщательно принятый компромисс.
8 окт 13, 10:02    [14937711]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 11092
17-77

Оракл заставляет писать говно код:
* Приватные процедуры и функции, объявленные внутри публичной процедуры - была хранимка, с говнокодом, я решил ее переписать красиво, переписал, разделил на блоки, сделал легко читаемой, разбил на мелкие методы-процедуры-функции - не компилируется, выяснилось, что оракл не видит функцию, объявленную ниже ее места использования. Мне пришлось перевернуть код, объявления функций стали идти снизу вверх. Кто читает снизу вверх? КТО? Всегда все идут от общего к частному и детальные функции идут ниже общих. Почти все человечество читает сверху вниз. Почему я оракл заставляет меня писать нечитаемый говно-код? После этого я взглянул на изначальный вариант хранимки с сожалением - человеку просто не оставили выбора.


У тебя к С++ такие же претензии? Это вроде во всех языках программирования так. Либо нужно делать некое предварительное объявление функции, либо должен быть некий сложный двухпроходный компилятор.
8 окт 13, 10:07    [14937733]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
Yo.!
Guest
17-77
Оракл тупой:
* Элементарная операция - подать в хранимку строку со списоком ид

а я вот совсем не уверен, что это оракл тупой, а не тот лапоть, что передает строку, вместо массива. ну и открой для себя regexp ...
8 окт 13, 10:20    [14937775]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67469
Блог
Симонов Денис
У тебя к С++ такие же претензии?

Это не претензии, а неприкрытый вброс. Почувствуйте разницу.
8 окт 13, 10:32    [14937847]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 11092
softwarer,

дык может автор и вправду уверен что должно работать как он описал. Мне вот интересно где так можно.
8 окт 13, 10:39    [14937905]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67469
Блог
Симонов Денис
дык может автор и вправду уверен что должно работать как он описал. Мне вот интересно где так можно.

В интерпретаторах, например, в яваскрипте и в яве. Вообще это характерная черта угробищных с точки зрения ооп-дизайна языков, в которых definition функции неотрываем от её declaration. Там, где в нормальном языке можно написать прототип класса на пятьдесят-сто строк, в этих языках приходится писать весь класс на тысячу. Как следствие, программный код получается "неохватываемым взглядом" и приходится хотя бы самые важные функции выносить вперёд, чтобы с ним можно было работать в редакторе.
8 окт 13, 11:14    [14938122]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
17-77
Member

Откуда:
Сообщений: 1510
Симонов Денис
У тебя к С++ такие же претензии?

я не писал на с++, но например в с# можно писать как угодно, а в c++ можно отделить функции в заголовок

Yo.!
а я вот совсем не уверен, что это оракл тупой, а не тот лапоть, что передает строку, вместо массива. ну и открой для себя regexp ...

так может просветите? примерчик хранимки с вызовом из C#
8 окт 13, 11:36    [14938318]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 11092
softwarer,

речь то вроде не об ООП, а про вложенные функции.
17-77
Приватные процедуры и функции, объявленные внутри публичной процедуры

Эта фича вроде как замыканиями называется. Схематично

function f1() {
   
   function f2() {
      // здесь доступны переменные и функции объявленные выше f2
   }

   function f3() {
     // здесь доступны переменные и функции объявленные выше f3, в том числе f2
   }
   // блок с логикой автор
   // здесь доступны переменные и функции объявленные выше в том числе f2 и f3 
}


Т.е. автор хочет объявить f2 и f3 после блока с "логикой", что по мне совершенно не логично.
8 окт 13, 11:37    [14938326]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 11092
17-77,

C# всё же реализует концепцию ООП и там логично, что методы доступны друг для друга в не зависимости от порядка объявления. А вот с вложенными функциями или классами не уверен что так.
8 окт 13, 11:40    [14938357]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
Yo.!
Guest
17-77
Yo.!
а я вот совсем не уверен, что это оракл тупой, а не тот лапоть, что передает строку, вместо массива. ну и открой для себя regexp ...

так может просветите? примерчик хранимки с вызовом из C#

а что у майкрософта документации совсем нет ?
на пхп это oci_bind_array_by_name() http://php.net/manual/pt_BR/function.oci-bind-array-by-name.php
8 окт 13, 11:54    [14938514]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
17-77
Member

Откуда:
Сообщений: 1510
Симонов Денис,

вот это дело компилируется в VS

public class TestClass
    {
        public void Method()
        {
            // Объявления методов ниже использования.
            MethodA();
            MethodB();
            TestClassInner.InnerMethod();
        }

        public void MethodA()
        {

        }

        public void MethodB()
        {

        }

        class TestClassInner
        {
            public static void InnerMethod()
            {
                InnerMethodA();
                InnerMethodB();
            }

            public static void InnerMethodA()
            {

            }

            public static void InnerMethodB()
            {

            }
        }
    }



Yo.!
а что у майкрософта документации совсем нет ?

проблемы на уровне оракла, т.е. начинать надо с примера хранимки
8 окт 13, 12:15    [14938720]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 11092
17-77,

Что так вложенные классы работают не знал. Но всё же вложенные функции и вложенные классы это разные вещи. И сравнивать их с реализацией ХП или пакетов в Оракле смысла нет. Ни то, ни другое никакого отношения к ООП не имеет. У вас лично претензии PL/SQL так вот покажите в какой СУБД возможно то чего вы хотите.
8 окт 13, 12:22    [14938756]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
Yo.!
Guest
17-77
Yo.!
а что у майкрософта документации совсем нет ?

проблемы на уровне оракла, т.е. начинать надо с примера хранимки

в суровой действительности проблемы на уровне моска, который а) не смог нарисовать хранимку с массивом б) не осилил copy/paste примерчика из пхп доки.
мда, чё-то совсем захирел раздел, критики оракла уже даже массив в процедуру не в состоянии передать.
8 окт 13, 12:41    [14938897]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4] 5 6 7 8 9 10 .. 54   вперед  Ctrl
Все форумы / Сравнение СУБД Ответить