|
|
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
FreemanZAVОпять. Говорю последний раз, их в fb c успехом заменют ХП а это ничего, если мы будем сравнивать "наши" джойны функций, с "вашими" джойнами процедур? правда будет сложно придумать место для сложностей, но ведь не это же главное, верно ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2009, 15:10 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
Зайцев ФёдорFreemanZAVОпять. Говорю последний раз, их в fb c успехом заменют ХП а это ничего, если мы будем сравнивать "наши" джойны функций, с "вашими" джойнами процедур? правда будет сложно придумать место для сложностей, но ведь не это же главное, верно ? Не главное, главное мир во всём мире. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2009, 15:15 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
FreemanZAVНе главное, главное мир во всём мире. вот и отлично. кстати, прямым аналогом вашего курсора является Код: plaintext 1. 2. м.б. сравнить что-нибудь более осязаемое? З.Ы. ... пользовательские агрегатные функции, к примеру ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2009, 15:20 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
Зайцев Фёдорselect @i = i from table2; Человек точно не знает, о чём говорит Зайцев Фёдорпользовательские агрегатные функции, к примеру ) Или автономные транзакции ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2009, 15:25 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
Зайцев Фёдорпрямым аналогом вашего курсора является select @i = i from table2; Чтобы прояснить некоторым, что такое всё-таки курсоры fb, переделаю вышеприведённый пример: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2009, 15:40 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
FreemanZAVЗайцев Фёдорпрямым аналогом вашего курсора является select @i = i from table2; Чтобы прояснить некоторым, что такое всё-таки курсоры fb, переделаю вышеприведённый пример: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. вообще-то я в курсе. кстати, сколько работает такой код для приведённого ранее примера? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2009, 15:50 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
800 ms ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2009, 15:53 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
Желание увидеть что-то более прикладное лично у меня не уменьшилось. Можно увидеть? P.S. После такой переделки хотелось бы также увидеть время выполнения. P.P.S. Версия MS SQL Server какая для сравнения приводится? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2009, 15:53 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
Для тестов использовался mssql 2005 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2009, 15:54 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
FreemanZAV Чтобы прояснить некоторым, что такое всё-таки курсоры fb, переделаю вышеприведённый пример: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. я так понимаю, что suspend вынесен из цикла по чистой случайности. иначе будет именно Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2009, 16:01 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
Зайцев Фёдор кстати, сколько работает такой код для приведённого ранее примера? Не понял сначала фразу. Для примера, приведённого ранее, я уже результаты отписал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2009, 16:02 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
Зайцев ФёдорFreemanZAV Чтобы прояснить некоторым, что такое всё-таки курсоры fb, переделаю вышеприведённый пример: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. я так понимаю, что suspend вынесен из цикла по чистой случайности. иначе будет именно Код: plaintext 1. 2. SUSPEND вынесен только чтобы не зависеть от клиента. Честно - устал я объяснять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2009, 16:09 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
FreemanZAV Что select @i = i from table2 может сделать с i? SUSPEND вынесен только чтобы не зависеть от клиента. Честно - устал я объяснять. буквально то же самое - @i получит значение i из какой-то строки table2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2009, 16:11 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
FreemanZAVSenya_LАналогов, я так понимаю, нет execute blockПри всем уважении... но не надо путать кислое с пресным. С ES можно сделать практически все, но от этого оно не станет похожим на конструкцию APPLY. Зайцев Фёдортак появились табличные функции?Почти полным аналогом table valued function (TVF) в FB является селективная ХП (с блоком returns). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2009, 16:49 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
Senya_LПочти полным аналогом table valued function (TVF) в FB является селективная ХП (с блоком returns). знаю - работал и IB и FB. просто хотел подчеркнуть, что у FB нет никаких преимуществ при джойне процедур с функциями ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2009, 17:04 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
Зайцев ФёдорSenya_LПочти полным аналогом table valued function (TVF) в FB является селективная ХП (с блоком returns). знаю - работал и IB и FB. просто хотел подчеркнуть, что у FB нет никаких преимуществ при джойне процедур с функциями )а модифицировать данные внутри этой селективной ХП тоже нельзя? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2009, 17:12 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
Зайцев ФёдорSenya_LПочти полным аналогом table valued function (TVF) в FB является селективная ХП (с блоком returns). знаю - работал и IB и FB. просто хотел подчеркнуть, что у FB нет никаких преимуществ при джойне процедур с функциями )У TVF и селективных ХП есть как преимущества так и недостатки супротив друг друга. Чтобы неговорить загадками: предикаты и условия слияния могут "пропагироваться" (хз как попроще сказать) внутрь TVF через тот же APPLY, но это касается только простых функций с одним селектом. Для сложной функции один фиг будет создана временная таблица. В свою очередь селективные ХП пошустрее и ограничений там поменее. Последнее особенно актуально в MSSQL2008, где в функциях запреты стали еще жестче. Так что - каждая весчь хороша в своей ситуации... :) SergSuperЗайцев ФёдорSenya_LПочти полным аналогом table valued function (TVF) в FB является селективная ХП (с блоком returns). знаю - работал и IB и FB. просто хотел подчеркнуть, что у FB нет никаких преимуществ при джойне процедур с функциями )а модифицировать данные внутри этой селективной ХП тоже нельзя?Можно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2009, 17:17 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
Senya_L предикаты и условия слияния могут "пропагироваться" (хз как попроще сказать) внутрь TVF через тот же APPLY, но это касается только простых функций с одним селектом. И в чём тогда смысл таких TVF или хотя бы преимущество перед View?.. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2009, 17:50 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Senya_L предикаты и условия слияния могут "пропагироваться" (хз как попроще сказать) внутрь TVF через тот же APPLY, но это касается только простых функций с одним селектом. И в чём тогда смысл таких TVF или хотя бы преимущество перед View?.. как задать условие where для поля, которое не возвращается ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2009, 18:02 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
Зайцев Фёдор просто хотел подчеркнуть, что у FB нет никаких преимуществ при джойне процедур с функциями ) Руки чешутся сравнить производительность, но лень... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2009, 18:14 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
Senya_LПри всем уважении... но не надо путать кислое с пресным. С ES можно сделать практически все, но от этого оно не станет похожим на конструкцию APPLY. У меня два вопроса. 1.Если один и тот же результат можно получить за одно и то же время, то в чём разница? 2.APPLY есть в стандарте? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2009, 18:18 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
Зайцев ФёдорFreemanZAV Что select @i = i from table2 может сделать с i? SUSPEND вынесен только чтобы не зависеть от клиента. Честно - устал я объяснять. буквально то же самое - @i получит значение i из какой-то строки table2 Вообще пример был ориентирован не на конечный результат, а на сравнение производительности. Ну да ладно, если академические примеры трудны для восприятия, то скажу, что если вставить suspend в цикл, то ibexpert фетчит записи за 3 с небольшим секунды. Даже в этом случае MSSQL медленнее примерно в 10 раз ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2009, 18:22 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
FreemanZAV Вообще пример был ориентирован не на конечный результат, а на сравнение производительности. не понимаю, как можно сравнивать производительность полностью игнорируя конечный результат. FreemanZAV Ну да ладно, если академические примеры трудны для восприятия для восприятия трудны взятые с потолка first 1 skip... вам, видимо, нужно ещё потренироваться в написании "академических примеров" FreemanZAV то скажу, что если вставить suspend в цикл, то ibexpert фетчит записи за 3 с небольшим секунды. Даже в этом случае MSSQL медленнее примерно в 10 раз это прекрасно, но как так вышло и что из этого следует? м.б. именно такой код пришлось оптимизировать в первую очередь, и для этого были серьёзные причины? что именно предполагается быстро-быстро делать таким образом ? что-нибудь такое? Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2009, 18:41 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
FreemanZAV1.Если один и тот же результат можно получить за одно и то же время, то в чём разница?Дело в том, что результат получим один и тот же, но время будет, скорее всего, потому как Senya_Lпредикаты и условия слияния могут "пропагироваться" (хз как попроще сказать) внутрь TVF через тот же APPLYТо же самое относится не только к TFV, но и к подзапросам. В дополнение пример Код: plaintext 1. 2. 3. 4. FreemanZAV2.APPLY есть в стандарте?Думаю, ответ ты знаешь ;), но что хочешь этим сказать? Как будто соответствие стандартам останавливало разработчиков СУБД от использования нестандартных операторов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2009, 19:21 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
Senya_LТебе отлично известно, что в планах выборка из ХП всегда идет натуралом. Чтож сегодня такое? Никто толком ничего не читает. Я вроде говорил в данном случае о EB. Зайцев Фёдорэто прекрасно, но как так вышло и что из этого следует? Вывод очевиден, курсоры в mssql в 10 медленнее чем в fb, а боле ничего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2009, 19:45 |
|
||
|
|

start [/forum/topic.php?fid=35&msg=36064611&tid=1552859]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
7391ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 254ms |
| total: | 7748ms |

| 0 / 0 |
