Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
 FB vs MSSQL (Было: Глюк в Firebird или некорректный запрос?)  [new]
Zhekaus
Member

Откуда:
Сообщений: 9
Коллеги,
не могу понять, в чем дело. Элементарный запрос.
В MS SQL - все ок. А в Fireberd 1.5.1 выдает полную дурь.

Вот данные:
TABLE_ID VALUE_ID F_DATE ID
18 1 01.06.2005 1
18 2 02.06.2005 2
18 3 03.06.2005 3
18 4 04.06.2005 4
18 5 05.06.2005 5
18 6 06.06.2005 6
18 7 07.06.2005 7
18 8 08.06.2005 8
18 9 09.06.2005 9
18 10 10.06.2005 10

Вот запрос:
select * FROM d_recent
WHERE
table_id = 18 and
id not in (
select first 5 id from d_recent
where
table_id = 18
order by f_date
);

Запрос возвращает пустоту. А должен - 5 строк:
TABLE_ID VALUE_ID F_DATE ID
18 10 10.06.2005 10
18 9 09.06.2005 9
18 8 08.06.2005 8
18 7 07.06.2005 7
18 6 06.06.2005 6

Помогите, разобраться, кто тупит - я или Firebird
6 июн 05, 17:45    [1600554]     Ответить | Цитировать Сообщить модератору
 Re: Глюк в Firebird или некорректный запрос?  [new]
dimitr
Member

Откуда: PNZ
Сообщений: 7005
если читать релизные ноты к используемому продукту, то обычно вопросов становится меньше...

ЗЫ. известная бага, исправлена в v2.0.
6 июн 05, 18:01    [1600624]     Ответить | Цитировать Сообщить модератору
 Re: Глюк в Firebird или некорректный запрос?  [new]
Zhekaus
Member

Откуда:
Сообщений: 9
Ну, буду знать. Большое спасибо. Хотя, релиз ноутс по диагонали прочел, но такого именно не увидел.

Вообще-то, если инструкция недопустима, то она должна скорее выдавать сообщение об ошибке, чем молча вываливать неверный результат. Нечестно это. И это при том, что промежуточные релизы выходят относительно часто.
А что, ни одна релизнутая версия Firebird не выполнит такой запрос?

Переделал запрос со SKIP. Удобная штука.

Во всем MS виноват :) Это его T-SQL приучил к хорошей жизни, набил голову стереотипами. Вообще, как я понял, слишком многое из того, что на MSSQL удается делать одним select’ом, на Firebird приходится перекраивать на хранимых процедурах и UDF. Уф... как же это медленно пишется.
6 июн 05, 23:31    [1601193]     Ответить | Цитировать Сообщить модератору
 Re: Глюк в Firebird или некорректный запрос?  [new]
FreemanZAV
Member

Откуда:
Сообщений: 2434
Zhekaus
на MSSQL удается делать одним select’ом, на Firebird приходится перекраивать на хранимых процедурах и UDF.

А то, что в FB можно сделать на ХП в MS SQL не сделаешь вообще (или через ж.)
7 июн 05, 10:19    [1601743]     Ответить | Цитировать Сообщить модератору
 Re: Глюк в Firebird или некорректный запрос?  [new]
Patriot
Member

Откуда: Москва
Сообщений: 255
FreemanZAV
Zhekaus
на MSSQL удается делать одним select’ом, на Firebird приходится перекраивать на хранимых процедурах и UDF.

А то, что в FB можно сделать на ХП в MS SQL не сделаешь вообще (или через ж.)


Да и не факт еще что достаточно сложный запрос оптимизатор MS SQLа раскрутит оптимально.
7 июн 05, 10:25    [1601769]     Ответить | Цитировать Сообщить модератору
 Re: Глюк в Firebird или некорректный запрос?  [new]
Александр Гoлдун
Member

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

Patriot пишет:

>> А то, что в FB можно сделать на ХП в MS SQL не сделаешь вообще (или
>> через ж.)
> Да и не факт еще что достаточно сложный запрос оптимизатор MS SQLа
> раскрутит оптимально.

Пришли фанаты-патриоты с рулезами и форевами ))))))

Posted via ActualForum NNTP Server 1.2

7 июн 05, 10:58    [1601903]     Ответить | Цитировать Сообщить модератору
 Re: Глюк в Firebird или некорректный запрос?  [new]
Zhekaus
Member

Откуда:
Сообщений: 9
FreemanZAV
А то, что в FB можно сделать на ХП в MS SQL не сделаешь вообще (или через ж.)

Что, например?
Да и «через ж.» - звучит как-то субъективно. Что считать «через ж.», а что - нет?

Select/SQL - это, грубо говоря, пользовательский инструмент, а ХП - программистский. Продвинутая СУБД обязана давать максимум возможностей по выборке и манипулированию данными без использования ХП. В частности, у пользователя может не быть прав на написание функций или ХП, а данные добыть необходимо.
Вот и придется сначала выбирать данные из Firebird, загружать их в MSSQL, а затем уже - крутить-вертеть ими. :)

Patriot

Да и не факт еще что достаточно сложный запрос оптимизатор MS SQLа раскрутит оптимально.


Да, не факт. Но далеко не всегда это актуально.
Вот мне, например, все, что сейчас нужно от СУБД - это полнофункциональный SQL, который не заставляет писать ХП на каждый писк Firebird.
Скажем так: оптимизация выборки должна быть опцией, на тот случай, когда это действительно необходимо. Оптимизация идет последними этапами, а разработка базового функционала - первыми.
8 июн 05, 15:10    [1606552]     Ответить | Цитировать Сообщить модератору
 Re: Глюк в Firebird или некорректный запрос?  [new]
Карабас Барабас
Member

Откуда: СССР
Сообщений: 9349
Zhekaus
Select/SQL - это, грубо говоря, пользовательский инструмент, а ХП - программистский. Продвинутая СУБД обязана давать максимум возможностей по выборке и манипулированию данными без использования ХП. В частности, у пользователя может не быть прав на написание функций или ХП, а данные добыть необходимо.

Софт для того и пишется программистами, чтобы юзеры не мучали сервера своими дурацкими запросами.
Zhekaus
Вот и придется сначала выбирать данные из Firebird, загружать их в MSSQL, а затем уже - крутить-вертеть ими. :)
ну ты даешь !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
8 июн 05, 15:44    [1606697]     Ответить | Цитировать Сообщить модератору
 Re: Глюк в Firebird или некорректный запрос?  [new]
Tonny
Member

Откуда:
Сообщений: 143
Zhekaus
Вот и придется сначала выбирать данные из Firebird, загружать их в MSSQL, а затем уже - крутить-вертеть ими. :)

вот это и есть через ж.... причём толстую...
до чего ж широк полёт мысли наших программистов!
8 июн 05, 16:20    [1606884]     Ответить | Цитировать Сообщить модератору
 Re: Глюк в Firebird или некорректный запрос?  [new]
FreemanZAV
Member

Откуда:
Сообщений: 2434
to Zhekaus
FOR SELECT
Только про курсоры говорить не надо. За их использование в некоторых конторах на работу не принимают.

Zhekaus
Продвинутая СУБД обязана давать максимум возможностей по выборке и манипулированию данными без использования ХП. В частности, у пользователя может не быть прав на написание функций или ХП, а данные добыть необходимо.

А если возьмем 2.0, то вот тебе "пользовательский инструмент".
EXECUTE BLOCK RETURNS
Без ХП все, что хочешь выберешь. Да и DSQL в MS SQL не очень то превосходит по функционалу FB . Разве что набор встроенных функций побольше и вложенные селекты есть. Но в FB 2.0 второе, по крайней мере присутствует. А проблемы у пользователей с Select-ом в основном возникают не из-за отсутствия того или иного фукционала, а из-за головы и рук пользователя.
Zhekaus
Оптимизация идет последними этапами, а разработка базового функционала - первыми.

А после этого базовый функционал не поддается оптимизации. Пример (1С 7)
8 июн 05, 16:41    [1606992]     Ответить | Цитировать Сообщить модератору
 Re: Глюк в Firebird или некорректный запрос?  [new]
м-ммодыратар
Guest
ща в сравнение субд переедете, если не остановитесь
8 июн 05, 16:45    [1607015]     Ответить | Цитировать Сообщить модератору
 Re: Глюк в Firebird или некорректный запрос?  [new]
Tonny
Member

Откуда:
Сообщений: 143
не-не, никаких сравнений. Шо тут сравнивать?
инсталяшка FB1.5 - 2 с хреном метра,
MSSQL - 350, тоже с хреном.
FB стоит - безплатно,
а скоко MS?

то-то же, какое может быть сравнение?
если надо не оч сложную задачу, а разработчик заявляет: будет она на MSSQL, бо у того селекты круче. Правда, выкинете ещё пару килобаксов на лицензию, но зато будут крутые возможности селекта. И бухгалтер сможет сама писать навороченный SELECT....

странное обсуждение, вобщем. И аргументы тоже странные.
8 июн 05, 17:19    [1607218]     Ответить | Цитировать Сообщить модератору
 Re: Глюк в Firebird или некорректный запрос?  [new]
Strannic
Member

Откуда: Москва
Сообщений: 184
Tonny
если надо не оч сложную задачу

это ты к чему? хочешь сказать, что на сложные задачи FB уже не тянет? и если же задача планируеться работать на эдак 100 юзверей в конекте, да плюс еще и с полу-часовой репликацией в разных городах то все? кирдык?
8 июн 05, 18:43    [1607547]     Ответить | Цитировать Сообщить модератору
 Re: Глюк в Firebird или некорректный запрос?  [new]
dimitr
Member

Откуда: PNZ
Сообщений: 7005
народ, хорош оффтопить
8 июн 05, 19:56    [1607679]     Ответить | Цитировать Сообщить модератору
 Re: Глюк в Firebird или некорректный запрос?  [new]
Amris Mirddin
Member

Откуда: Питер
Сообщений: 2379
dimitr
народ, хорош оффтопить


Ну вот, тока я налил кофейку после трудного дня, закурил, размотал чем мериться, то бишь собрался счесть в очередной раз количество объектов в базе и мегабайт екзешников... :(
8 июн 05, 20:33    [1607735]     Ответить | Цитировать Сообщить модератору
 Re: Глюк в Firebird или некорректный запрос?  [new]
Strannic
Member

Откуда: Москва
Сообщений: 184
dimitr
народ, хорош оффтопить

сори, но меня действительно заинтересовало это высказывание, т.к. честно говоря я не вижу (не видел) особой разницы в мощностях данных СУБД. Может я заблуждался и FB действиетльно очень хорош
если надо не оч сложную задачу
?
З.Ы.: однако все же я думаю, что тут ОЧЕНЬ многое от ручек зависит.
8 июн 05, 20:43    [1607747]     Ответить | Цитировать Сообщить модератору
 Re: FB vs MSSQL (Было: Глюк в Firebird или некорректный запрос?)  [new]
Gold
Member

Откуда: Харьков
Сообщений: 2947
2 Tonny:

Ты будешь сравнивать когда поработаешь с FB достаточно глубоко, попользуешься его триггерами, ХП, тулзами типа IBExpert или SQLHammer, а потом скажешь что для тебя лучще.

Я вот тоже пытался месяцок с MSSQL работать - теперь каждый вечер перед сном молюсь с благодарностью что MSSQL больше на нашем сервере не стоит и сдерживаю себя от того чтобы сказать "пару ласковых" в его адрес!

PS Вобще удивляюсь как ДЕ и Влад на этот форум ещё ходят и спокойно отвечают на некорректные наезды - видимо они очень терпеливые.
9 июн 05, 11:44    [1608886]     Ответить | Цитировать Сообщить модератору
 Re: FB vs MSSQL (Было: Глюк в Firebird или некорректный запрос?)  [new]
Александр Гoлдун
Member

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

Ты будешь сравнивать когда поработаешь с FB достаточно глубоко, попользуешься его триггерами, ХП, тулзами типа IBExpert или SQLHammer, а потом скажешь что для тебя лучще.

Я вот тоже пытался месяцок с MSSQL работать - теперь каждый вечер перед сном молюсь с благодарностью что MSSQL больше на нашем сервере не стоит и сдерживаю себя от того чтобы сказать "пару ласковых" в его адрес!

У меня были подобные ощущения, но только в отношении IB, когда его наконец-то решили исключить из списка поддерживаемых серверов. Поработал я с ним тогда достаточно глубоко и не один месяц. И чего? Сам не тащусь от MSSQL, но отвечу тебе твоими же словами: "Ты будешь сравнивать когда поработаешь с <вставьте имя сервера> достаточно глубоко"
9 июн 05, 12:08    [1609016]     Ответить | Цитировать Сообщить модератору
 Re: FB vs MSSQL (Было: Глюк в Firebird или некорректный запрос?)  [new]
Gluk (Kazan)
Member

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

Элементарный запрос.
select * FROM d_recent
WHERE
table_id = 18 and
id not in (
select first 5 id from d_recent
where
table_id = 18
order by f_date
);


Я тиха плакалъ
9 июн 05, 12:23    [1609096]     Ответить | Цитировать Сообщить модератору
 Re: FB vs MSSQL (Было: Глюк в Firebird или некорректный запрос?)  [new]
Gold
Member

Откуда: Харьков
Сообщений: 2947
Вот флейм - как заводит то... Попробую сдержаться...
9 июн 05, 13:40    [1609546]     Ответить | Цитировать Сообщить модератору
 Re: FB vs MSSQL (Было: Глюк в Firebird или некорректный запрос?)  [new]
Александр Гoлдун
Member

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

Gold пишет:

> Вот флейм - как заводит то... Попробую сдержаться...

Чрезмерное воздержание может повредить здоровью :)
Если топик перенесли в db-flame, значит кому-то это нужно.

Posted via ActualForum NNTP Server 1.2

9 июн 05, 20:27    [1611280]     Ответить | Цитировать Сообщить модератору
Все форумы / Сравнение СУБД Ответить