Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3 4   вперед  Ctrl      все
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
Apex
Member

Откуда: Made in USSR
Сообщений: 3910
FBUser

PSQL практически ничем не уступает Ораклу, а кое в чем даже превосходит.

Ты с дуба рухнул, родной? Птичка конечно весьма подтянулась в последних версиях, но не до такой степени, чтобы почти ни в чем не уступать. Из превосходсвта там только синтаксический сахар, а-ля if exist (select...)...
Ты если не волокешь в чем-то, лучше либо не позорься, либо говори конкретно, вот тут я ничего про оракл не знаю, но в FB делаю так, как сделать в Оракле?

Lecter
Или сейчас все дружно накатим Файрберд и будем гонять тесты?

Мне ниче накатывать не надо, у меня все уже накачено:Р И таких грамотеев - дельфевых прогарммеров, у которых указательный палец к мыши прирос, переписавших очередную процедуру с PSQL на PL/SQL и сделавших заключение, что "FB в 428 быстрее Оракла" (с) "наш разработчик" - у меня целый отдел)))
30 мар 09, 20:42    [6995471]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
FBUser
Guest
Apex,

Ты вначале разберись что называеш синтаксическим сахаром. Да,
if exists(
который в оракле не держится потому что такие как ты привыкли называть это черезмерными прелестями от разработчиков; или же вызов SQL в параметрах процедур, например
myproc((select id from mytable))
- это уже конструкция которая по принципам современного языка должна работать. Смотри в корень,- либо PLSQL это язык, либо кучка залаток написанная зажравшейся кучей разрабов, и это еще не все идеологические ляпы. Один из самых ярких на мой взгляд является идиотское правило считать пустую строку NULL значением (ума не хватило разрулить по стандарту); давай пойдем дальше и посмотрим как том (Tom kyte) решил разрулить работу с блобами, этож ваще ни в какие ворота не лезет! Ты в начале должен выполнить UPDATE запрос, а потом получить дескриптор блоба и записать в него значение. Тут уже ваще не понятно где конкретно том думал начинать транзакцию а где заканчивать и как работать с массовым апдейтом, хотя это наверно с твоей колокольни всего навсего "не сахарная" конструкция, а с моей абсолютное черте что. Так что, Apex, возможности PLSQL в действительности во многом несахорно и глупо перекрывают PSQL, однако батенька в птичке многое из того и ненадо. Нельзя скрывать что и плюсы у PLSQL имеются однако нельзя же так критиковать птицу и возносить до небес такой грубо наляпанный язык как PLSQL.

2 orawish
Перепутал вас с olegloa
31 мар 09, 10:41    [6996925]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
VBR_
Guest
FBUser, проведите сравнение Firebird 2.0 и Oracle 10g.
Начните с таких вещей как пакеты, аналитические функции, иерархические запросы,
регулярные выражения, модели...
Встроенная поддержка всего, чего только можно придумать:
- xml, криптуха, http, tcp/ip, очереди, job, планировщики и т.д.
Если вдруг чего не хватает (хотя вряд ли, скорее всего чего-то еще не знаете) - java stored proc (не путать с udf).
Вся эта байда полностью поддерживает транзакционный механизм,
в том числе поддержка автономных, распределенных транзакций.
Материализованные view ..., да какой объект БД не возьми (таблицы, индексы, view ... возможна груда вариантов, надо только понимать когда и что использовать).
Потом когда реально слегка оху...те с такого количества возможностей и мощностей (как я, когда около года назад пришел в мир Oracle из мира Firebird и MS SQL) посмотрите в сторону поддержки горизонтальной и вертикальной масштабируемости - кластеры и т.д
К тому моменту Вы поймете, что нельзя сравнивать несравнимые вещи.
Firebird - прекрасный небольшой SQL сервер. Особенно мне нравится его однопользовательский embedded) вариант, когда он скомпилен в виде 1 dll.
Но он предназначен для совсем другого круга задач, чем Oracle.
IMHO, его даже с MS SQL 2005 нельзя сравнивать, скорее с MySQL.
P.S.
myproc((select id from mytable)) -> cursor
Ex. select xmltype(cursor(select id from mytable)) from dual
31 мар 09, 12:59    [6998340]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
FBUser
Guest
VBR_,

Спорить насчет масштабируемости я не буду и не собирался, еще бы этого не было в оракле - тогда бы только откровенный дыбил хотел его использовать. Сравнивать же птицу с MySQL столь же нелепо, сколь нелепо сравнивать кластерные возможности оракла с файрбердовскими наворотами на эту тему. ИМХО разговор шел про PLSQL, так давайте рассмотрим навороты:
xml, криптуха, http, tcp/ip, очереди, job, планировщики и т.д не есть часть PLSQL а является наворотами сервера Оракл впрочем тоже касается и материализованных представлений. Вообщето никто и не спорит что для огромных, распределенных задач оракл незаменим. Но как бы то нибыло этот факт не меняет другого факта ОРАКЛ БЫЛ КРИВЫМ, ОСТАЕТСЯ КРИВЫМ и скорее всего БУДЕТ КРИВЫМ. И так уж получаеццо, что большинство из тех кто юзал такие КРУТЫЕ навороты оракла как криптуха, секьюрити, репликацию, сообщения и т. д. - в конце концов пришли к тому, что реализовали свои версии данных технологий, и снова в большинстве своем из-за убогости и глючности их реализации в оракле. ИМХО.

Ибо думать надо не только о том что делать а еще и о том как это делать.

ЗЫ
С точки зрения птицевода у оракла нет транзакций вообще.
31 мар 09, 13:50    [6998918]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
Lecter
Member

Откуда: Киев
Сообщений: 2032
FBUser,

фига себе приплыли... А теперь расскажите о транзакциях в Птице.
31 мар 09, 13:53    [6998948]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
tru55
Member

Откуда: СПб
Сообщений: 19788
Модераторы, да унесите вы уже этот топик в "Сравнение СУБД", плиз
Модератор: Тема перенесена из форума "Oracle".


Сообщение было отредактировано: 31 мар 09, 13:55
31 мар 09, 13:54    [6998962]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
Yo.!
Guest
пля, а нам то тут это весеннее обострение нафига ? по теме ФБ нам весной мимоходящего в полне хватает, этот лишний
31 мар 09, 14:14    [6999154]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54850

Yo.!
пля, а нам то тут это весеннее обострение нафига ?

Ну раз уж у модераторов не хватило духу пристрелить этого кретина, так
пусть себе шумит помаленьку. Жаль eugenkru свалил, было бы интересно их
стравить.

Posted via ActualForum NNTP Server 1.4

31 мар 09, 14:52    [6999523]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
VBR_
Guest
Все же напишу ответ, может проймет.

FBUser, Вы совсем не знаете Oracle.
Тот механизм поддержки транзакций, который существует в Oracle - это одна из наиболее сильных его черт. Именно из-за его стройности и надежности Oracle уже десятилетия используют в крупных банковских и процессинговых системах. PL/SQL - очень быстр и хорош.
Когда я переходил с FB и MS SQL мне тоже многое казалось непривычным и неудобным.
Я привык возвращать из хранимок наборы данных, в MS SQL часто юзать временные таблицы.
Здесь, в Oracle, другая идеология. Глупо использовать приемы FB или MS SQL в Oracle.
И, конечно, глупо кричать, что Oracle кривой и т.д. если Вы вообще в нем не разбираетесь.
Как и ссылаться на мифических знакомых, которые якобы считают его убогим. Это похоже на довод - живите в г..не, ведь миллионы мух не могут ошибаться.
Не зацикливайтесь на Firebird и скорее всего Delphi. Расширяйте кругозор.
31 мар 09, 15:05    [6999656]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
ддддд
Guest
А можно в птичьке сделать одним запросом АВС анализ, а сформировать дерево?
1 апр 09, 16:58    [7007337]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 32912

Hello, ддддд!
You wrote on Wed, 01 Apr 09 13:58:35 GMT:

ддддд
д> А можно в птичьке сделать одним запросом АВС анализ, а сформировать дерево?
можно.

--
With best regards, Мимопроходящий.

Posted via ActualForum NNTP Server 1.4

1 апр 09, 17:17    [7007510]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
ддддд
Guest
Текст запроса можно показать?
1 апр 09, 17:24    [7007563]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 32912

Hello, ддддд!
You wrote on Wed, 01 Apr 09 14:24:31 GMT:

ддддд
д> Текст запроса можно показать?
шобы шо?
птица в полной мере поддерживает и Derived Tables и CTE.

--
With best regards, Мимопроходящий.

Posted via ActualForum NNTP Server 1.4

1 апр 09, 17:32    [7007615]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
FreemanZAV
Member

Откуда:
Сообщений: 2434
Мимопроходящий


птица в полной мере поддерживает и Derived Tables и CTE.





CTE не в полной Картинка с другого сайта.
2 апр 09, 08:22    [7009195]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 32912

Hello, FreemanZAV!
You wrote on Thu, 02 Apr 09 05:22:51 GMT:

FreemanZAV
F> CTE не в полной
конкретнее, кто тебе жить мешает? (С)

--
With best regards, Мимопроходящий.

Posted via ActualForum NNTP Server 1.4

2 апр 09, 12:17    [7010788]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
FreemanZAV
Member

Откуда:
Сообщений: 2434
Мимопроходящий

конкретнее, кто тебе жить мешает?


Неполное соответсвие сей конструкции стандарту
2 апр 09, 12:28    [7010878]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 32912

Hello, FreemanZAV!
You wrote on Thu, 02 Apr 09 09:28:56 GMT:

FreemanZAV
F> Неполное соответсвие сей конструкции стандарту
а можно подробнее?

--
With best regards, Мимопроходящий.

Posted via ActualForum NNTP Server 1.4

2 апр 09, 12:46    [7011040]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
FreemanZAV
Member

Откуда:
Сообщений: 2434
Например DEPTH FIRST или BREADTH FIRST
2 апр 09, 12:50    [7011080]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
FreemanZAV
Member

Откуда:
Сообщений: 2434
Но в MS SQL 2005 тоже всё не слава богу. Почему-то он матюгается на RECURSIVE после слова WITH.
2 апр 09, 12:53    [7011100]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
FreemanZAV
Но в MS SQL 2005 тоже всё не слава богу. Почему-то он матюгается на RECURSIVE после слова WITH.


Потому что в MS SQL рекурсия в CTE реализуется без оного ключевого слова:

USE AdventureWorks;
GO
WITH DirectReports(ManagerID, EmployeeID, EmployeeLevel) AS 
(
    SELECT ManagerID, EmployeeID, 0 AS EmployeeLevel
    FROM HumanResources.Employee
    WHERE ManagerID IS NULL
    UNION ALL
    SELECT e.ManagerID, e.EmployeeID, EmployeeLevel + 1
    FROM HumanResources.Employee e
        INNER JOIN DirectReports d
        ON e.ManagerID = d.EmployeeID 
)
SELECT ManagerID, EmployeeID, EmployeeLevel 
FROM DirectReports ;
GO
2 апр 09, 16:51    [7013366]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
hvlad
Member

Откуда:
Сообщений: 11578
pkarklin
FreemanZAV
Но в MS SQL 2005 тоже всё не слава богу. Почему-то он матюгается на RECURSIVE после слова WITH.


Потому что в MS SQL рекурсия в CTE реализуется без оного ключевого слова:
И это есть не по стандарту. Зачем ???
2 апр 09, 16:57    [7013420]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
hvlad
И это есть не по стандарту. Зачем ???


Гм... Прошу прощение за безграмотность в части стандарта на CTE. А У кого по стандарту? Насколько мне известно, например, у DB2, синтаксис рекурсивного CTE такой же.
2 апр 09, 17:05    [7013488]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
hvlad
Member

Откуда:
Сообщений: 11578
pkarklin
hvlad
И это есть не по стандарту. Зачем ???


Гм... Прошу прощение за безграмотность в части стандарта на CTE. А У кого по стандарту? Насколько мне известно, например, у DB2, синтаксис рекурсивного CTE такой же.
Рекурсивные ссылки позволены только при наличии ключевого слова RECURSIVE :

SQL2008
7.13 <query expression>
...
Format
<query expression> ::=
[ <with clause> ] <query expression body>
[ <order by clause> ] [ <result offset clause> ] [ <fetch first clause> ]

<with clause> ::=
WITH [ RECURSIVE ] <with list>

<with list> ::=
<with list element> [ { <comma> <with list element> }... ]

<with list element> ::=
<query name> [ <left paren> <with column list> <right paren> ]
AS <table subquery> [ <search or cycle clause> ]
...

Syntax Rules
1) Let QE be the <query expression>.

2) If <with clause> is specified, then:

a) If a <with clause> WC immediately contains RECURSIVE, then WC, its <with list>, and its <with list
element>s are said to be potentially recursive. Otherwise they are said to be non-recursive.

b) Let n be the number of <with list element>s. For each i , 1 (one) ≤ i < n, for each j, i < j ≤ n, the j-th <with list element> shall not immediately contain a <query name> that is equivalent to the <query name> immediately contained in the i-th <with list element>.

c) If the <with clause> is non-recursive, then for all i between 1 (one) and n, the scope of the <query name> WQN immediately contained in the i-th <with list element> WLEi is the <query expression> simply contained in every <with list element> WLEk, where k ranges from i+1 to n, and the <query expression body> immediately contained in <query expression>. A <table or query name> contained in this scope that immediately contains WQN is a query name in scope.

d) If the <with clause> is potentially recursive, then for all i between 1 (one) and n, the scope of the query name> WQN immediately contained in the i-th <with list element> WLEi is the <query expression> simply contained in every <with list element> WLEk, where k ranges from 1 (one) to n, and the <query expression body> immediately contained in <query expression>. A <table or query name> contained in this scope that immediately contains WQN is a query name in scope.
...
Выделено мной.

Я совершенно не понимаю причин, по которым в MS отошли от стандарта. И я вовсе не уверен, что в DB2 присутствует такое же нарушение стандарта, хотя сам не проверял...

FB стандарту в этой части следует. Мы не поддерживаем опциональный <search or cycle clause>, но я не вижу в нём практической необходимости, а геморроя в реализации он способен добавить достаточное кол-во.
2 апр 09, 17:41    [7013793]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
hvlad
Я совершенно не понимаю причин, по которым в MS отошли от стандарта.


М.б. потому что это SQL2008?! Выделено мной. ;)

hvlad
И я вовсе не уверен, что в DB2 присутствует такое же нарушение стандарта, хотя сам не проверял...


Гм... Вот пример из DB2 отсюда:

http://www.ibm.com/developerworks/data/library/techarticle/0307steinbach/0307steinbach.html

WITH temptab(deptid, empcount, superdept) AS 
(		SELECT root.deptid, root.empcount, root.superdept 
		FROM departments root 
		WHERE deptname='Production' 
UNION ALL 
	SELECT sub.deptid, sub.empcount, sub.superdept 
	FROM departments sub, temptab super 
	WHERE sub.superdept = super.deptid 
) 
SELECT sum(empcount) FROM temptab

hvlad
FB стандарту в этой части следует.


+1 ему за это.
2 апр 09, 17:48    [7013842]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
hvlad
Member

Откуда:
Сообщений: 11578
pkarklin
hvlad
Я совершенно не понимаю причин, по которым в MS отошли от стандарта.


М.б. потому что это SQL2008?! Выделено мной. ;)
Это не менялось как минимум с SQL 2003
2 апр 09, 17:50    [7013861]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3 4   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить