Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3 4 5 6 7 8 9 10 .. 12   вперед  Ctrl      все
 Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
ДжекНепотрошитель
Member

Откуда: Донецк
Сообщений: 5308
Dimitry Sibiryakov

А как же "предложенная архитектура (ГО/Ф)"? Такая архитектура
подразумевает репликацию по определению.

Ну почему же? Здесь ведь нет схемы данных. Вполне возможно, в филиалах идет накопление и обработка данных, а в ГО пересылают итоговые отчеты...
26 июн 09, 13:42    [7347870]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
Dimitry Sibiryakov
Member

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

ДжекНепотрошитель
а в ГО пересылают итоговые отчеты...

....которые там загоняют в свою БД. Частичная репликация итогов не
перестаёт быть репликацией как таковой. Даже если осуществляется не
софтом, а ручками операторов.

Posted via ActualForum NNTP Server 1.4

26 июн 09, 13:49    [7347925]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
FreemanZAV
Member

Откуда:
Сообщений: 2434
ДжекНепотрошитель
ведь 1% будет-то счастлив ее иметь ;-)

Гораздо больше счастья приносят джоины с ХП и возможность использовать выражения в параметрах. Причём ни первое ни второе UDF-ами не заменишь.
26 июн 09, 14:11    [7348079]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
Di_LIne
Member

Откуда: Тропик Скорпиона
Сообщений: 32554
ДжекНепотрошитель
Но Transact SQL предоставляет больше возможностей, и пусть все это тоже можно замечательно реализовать на птичке (UDFами или еще как), но там оно УЖЕ реализовано, а значит, какому-нибудь программисту работы будет меньше. Пусть, к примеру, 99% программистов начхать на встроенную поддержку XML в СКЛсервере, но ведь 1% будет-то счастлив ее иметь ;-)

- Што, еще адын Word?
Нуивонфих...
26 июн 09, 18:55    [7350179]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
ДжекНепотрошитель
Member

Откуда: Донецк
Сообщений: 5308
FreemanZAV
Гораздо больше счастья приносят джоины с ХП и возможность использовать выражения в параметрах. Причём ни первое ни второе UDF-ами не заменишь.

Согласен, полезная фича. Но тут, скажем так, разница идеологий. ХР в птичке и в МССКЛ или его дедушке Субасе АСЕ - это разные сущности. Кому-то, возможно, ближе к сердцу возможность выдать из ХР несколько наборов данных... В конце-концов, для любителей джойнить результаты хранимок, там есть табличные функции.
27 июн 09, 17:37    [7351388]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
FreemanZAV
Member

Откуда:
Сообщений: 2434
ДжекНепотрошитель
Но тут, скажем так, разница идеологий.

Ага, если в fb нет какого-либо функционала, то это говорит об его ущербности, а если чего-то нет в MSSQL, то о разнице идеологий.

ДжекНепотрошитель
В конце-концов, для любителей джойнить результаты хранимок, там есть табличные функции

И получится жалкое подобие.Чтобы выбрать например одну запись из миллиона, эти функции потащат весь миллион записей во временные таблицы, я уж не говорю про джоин через параметры.
29 июн 09, 09:23    [7353440]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
FreemanZAV
Member

Откуда:
Сообщений: 2434
FreemanZAV
Чтобы выбрать например одну запись из миллиона, эти функции потащат весь миллион записей во временные таблицы

Тут я наврал наверное :)
29 июн 09, 09:31    [7353454]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
Зайцев Фёдор
Member

Откуда: Лужки
Сообщений: 5308
FreemanZAV
FreemanZAV
Чтобы выбрать например одну запись из миллиона, эти функции потащат весь миллион записей во временные таблицы

Тут я наврал наверное :)

применительно к inline-функциям - да, наврал.

а есть в великом могучем FB аналог CROSS APPLY? хотя бы жалкое подобие
29 июн 09, 11:52    [7353997]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
Dimitry Sibiryakov
Member

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

Зайцев Фёдор

а есть в великом могучем FB аналог CROSS APPLY? хотя бы жалкое подобие

Поскольку BOL про такую штуку ничего мне не сказал, то, похоже, её нет и
в великом могучем MS SQL. Ссылкой на стандарт не поделишься?

Posted via ActualForum NNTP Server 1.4

29 июн 09, 11:57    [7354014]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
FreemanZAV
Member

Откуда:
Сообщений: 2434
Зайцев Фёдор

а есть в великом могучем FB аналог CROSS APPLY? хотя бы жалкое подобие

Есть аналог OUTER APPLY. CROSS APPLY запросто эмулируется условием в where. Причём по скорости в этом случае MSSQL вряд ли будет иметь преимущество перед fb. А вот сджойнить процедуру или в ф-ю именно как таблицу в MSSQL не так-то просто.
29 июн 09, 12:06    [7354055]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
Зайцев Фёдор
Member

Откуда: Лужки
Сообщений: 5308
Dimitry Sibiryakov

Поскольку BOL про такую штуку ничего мне не сказал, то, похоже, её нет и
в великом могучем MS SQL. Ссылкой на стандарт не поделишься?

попробуйте поискать в MSDN или поставить новый BOL (не от 2000)

FreemanZAV
Есть аналог OUTER APPLY.

Можно ссылку?
29 июн 09, 12:44    [7354258]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
Dimitry Sibiryakov
Member

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

Зайцев Фёдор
попробуйте поискать в MSDN

Вообще-то я говорил о ссылке на ANSI SQL стандарт. MSDN как бы таковым
не является...

Posted via ActualForum NNTP Server 1.4

29 июн 09, 12:51    [7354283]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
FreemanZAV
Member

Откуда:
Сообщений: 2434
Зайцев Фёдор

Можно ссылку?

А нафига? Это просто внешнее объединение - left join myproc...
29 июн 09, 12:54    [7354299]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
Senya_L
Member

Откуда: Москва
Сообщений: 5381
FreemanZAV
Зайцев Фёдор

Можно ссылку?

А нафига? Это просто внешнее объединение - left join myproc...
JOIN и APPLY - не одно и то же. Аналогов, я так понимаю, нет. Простой пример из последнего "творчества"
	SELECT 
		*
	FROM tmpPerson
		INNER JOIN Persons ON Persons.idPerson = tmpPerson.ID
		CROSS APPLY (
			SELECT TOP 1
				[tmpSMO].[code],
				[Smo].[idSmo]
			FROM [tmpSMO]
				INNER JOIN [Smo] ON [Smo].[SmoName] LIKE [tmpSMO].[NAME]
			WHERE tmpSMO.[code] = [tmpPerson].[GIVING_INS]
		) Smo1
		OUTER APPLY (
			SELECT TOP 1
				[tmpSMO].[code],
				[Smo].[idSmo]
			FROM [tmpSMO]
				INNER JOIN [Smo] ON [Smo].[SmoName] LIKE [tmpSMO].[NAME]
			WHERE tmpSMO.[code] = [tmpPerson].[INSURER]
		) Smo2
Такое JOIN'ом не сделаешь. :(
29 июн 09, 13:06    [7354356]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
Зайцев Фёдор
Member

Откуда: Лужки
Сообщений: 5308
FreemanZAV
Причём по скорости в этом случае MSSQL вряд ли будет иметь преимущество перед fb. А вот сджойнить процедуру или в ф-ю именно как таблицу в MSSQL не так-то просто.

join проверю, хотя и не понимаю, почему именно left.
что касается "сджойнить процедуру или в ф-ю" - а в FB это вообще возможно ?
29 июн 09, 13:06    [7354358]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
FreemanZAV
Member

Откуда:
Сообщений: 2434
Senya_L
Аналогов, я так понимаю, нет

execute block
29 июн 09, 13:42    [7354499]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
FreemanZAV
Member

Откуда:
Сообщений: 2434
Зайцев Фёдор
FreemanZAV
Причём по скорости в этом случае MSSQL вряд ли будет иметь преимущество перед fb. А вот сджойнить процедуру или в ф-ю именно как таблицу в MSSQL не так-то просто.

join проверю, хотя и не понимаю, почему именно left.
что касается "сджойнить процедуру или в ф-ю" - а в FB это вообще возможно ?

Совершенно нет желания заниматься обучением
29 июн 09, 13:44    [7354509]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
FreemanZAV
Member

Откуда:
Сообщений: 2434
Кстати, провёл тест курсоров в MSSQL и в fb.
CREATE TABLE TABLE2 (
    I  INT
) 
go
declare @i int
set @i = 0
while (@i < 1000000) begin
	insert into table2(i) values (@i);
    set @i = @i + 1;
END

Тест такой:
declare @i int
DECLARE fp CURSOR FORWARD_ONLY FOR
select * from table2
for READ ONLY
OPEN fp 
while 1 =1 begin
	FETCH   NEXT FROM fp INTO @i 
    IF (@@FETCH_STATUS <> 0) break;

end
close fp
DEALLOCATE fp 
 

В fb это выглядит так

 EXECUTE BLOCK AS
 DECLARE VARIABLE  i INTEGER;
 BEGIN

  FOR SELECT FIRST 1 SKIP 1000000 i FROM table2
  into :i do begin

  end
END

MSSQL проигрывает в 20 раз. Хотя, возможно я что-то не так делаю
29 июн 09, 14:14    [7354675]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
RENaissance
Member

Откуда: Муром->Москва
Сообщений: 10895

FreemanZAV, MSSQL ориентирован на работу со множествами, а не курсорами. Поэтому, ваш результат вполне реален.

З.Ы Попробуйте при объявлении курсора указать не FORWARD_ONLY, FAST_FORWARD.

Posted via ActualForum NNTP Server 1.4

29 июн 09, 14:35    [7354800]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
Зайцев Фёдор
Member

Откуда: Лужки
Сообщений: 5308
FreemanZAV
Зайцев Фёдор
FreemanZAV
Причём по скорости в этом случае MSSQL вряд ли будет иметь преимущество перед fb. А вот сджойнить процедуру или в ф-ю именно как таблицу в MSSQL не так-то просто.

join проверю, хотя и не понимаю, почему именно left.
что касается "сджойнить процедуру или в ф-ю" - а в FB это вообще возможно ?

Совершенно нет желания заниматься обучением

Не нужно путать желания и возможности.
FreemanZAV

Причём по скорости в этом случае MSSQL вряд ли будет иметь преимущество перед fb.

в FB, судя по всему, нет аналога APPLY. как вы собираетесь сравнивать скорости?
FreemanZAV

А вот сджойнить процедуру или в ф-ю именно как таблицу в MSSQL не так-то просто.

в FB появились табличные функции? если нет, то "не так-то просто" всё-таки лучше, чем невозможно

З.Ы.
если не секрет, что выбирает?
FOR SELECT FIRST 1 SKIP 1000000 i FROM table2
просто не очень похоже на "выбрать все записи", как в примере для MSSQL
29 июн 09, 14:46    [7354869]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
FreemanZAV
Member

Откуда:
Сообщений: 2434
Зайцев Фёдор
FOR SELECT FIRST 1 SKIP 1000000 i FROM table2 если не секрет, что выбирает?

Пусть будет так
FOR SELECT  i FROM table2 
Результат не меняется

Зайцев Фёдор
в FB, судя по всему, нет аналога APPLY. как вы собираетесь сравнивать скорости?
Я имел ввиду сравнение APPLY c табличными функциями vs join с процедурами

Зайцев Фёдор
в FB появились табличные функции? если нет, то "не так-то просто" всё-таки лучше, чем невозможно

Непросто говорить с человеком, который не знает предмета разговора
29 июн 09, 14:55    [7354923]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
FreemanZAV
Member

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

FreemanZAV, MSSQL ориентирован на работу со множествами, а не курсорами. Поэтому, ваш результат вполне реален.

З.Ы Попробуйте при объявлении курсора указать не FORWARD_ONLY, FAST_FORWARD.


MSSQL - 37,172 сек
Firebird - 578 ms
29 июн 09, 14:58    [7354944]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
FreemanZAV
Member

Откуда:
Сообщений: 2434
to RENaissance
Хотя
select COUNT(*) from table2

MSSQL - 219 ms
Firebird - 453 ms
29 июн 09, 15:01    [7354964]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
Зайцев Фёдор
Member

Откуда: Лужки
Сообщений: 5308
FreemanZAV
Зайцев Фёдор
в FB появились табличные функции? если нет, то "не так-то просто" всё-таки лучше, чем невозможно

Непросто говорить с человеком, который не знает предмета разговора

Ничего, я же терплю.
так появились табличные функции? документация с firebirdsql.org не признаётся.
29 июн 09, 15:01    [7354965]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
FreemanZAV
Member

Откуда:
Сообщений: 2434
Зайцев Фёдор
Ничего, я же терплю.

Поскольку разговор ведётся сам с собой
Зайцев Фёдор
так появились табличные функции? документация с firebirdsql.org не признаётся.

Опять. Говорю последний раз, их в fb c успехом заменют ХП
29 июн 09, 15:03    [7354984]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3 4 5 6 7 8 9 10 .. 12   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить