powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / MS SQL Express vs PostgreSQL/SQLite/FireBird
282 сообщений из 282, показаны все 12 страниц
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36040724
Chys
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Система - главный офис (ГО) / филиалы (Ф).
ГО - MS SQL Server 2005 + .NET + парочка модулей на Delphi.
Ф - Paradox + Delphi (таблицы).
В планах заменить Paradox. Склоняемся к MS SQL Express.

Причины:
- уже пользуем серверную версию в ГО
- в Ф объемы данных хранятся до 2 Гб
- стабильность
- в Ф планируется смесь двух архитектур: клиент/сервер и локальной

Напрягает:
- в Ф объемы данных и количество пользователей могут начать расти, и тогда ограничения размера базы в 4 Гб и памяти в 1 Гб будут серьезным недостатком. Плюс, конечно, в том, что выбрав обрезанную версию можно будет безболезненно мигрировать на полноценную. Только вот согласятся ли клиенты платить за лицензии...
- приложение в Ф ориентированно на таблицы, поэтому прийдется многое переписывать... Но тут под любую sql ориентированную базу прийдется это делать. :(

Рассматриваем также вариант миграции на PostgreSQL/SQLite/FireBird. Из сомнений:
- PostgreSQL хорош под юникс системы и нестабилен на винде, медленно работают INSERT/UPDATE/DELETE и требуют постоянного вызова VACUUM;
- SQLite сам про себя говорит, что непригоден для клиент/сервер архитектуры;
- FireBird вроде как нет серьезных недостатков, кроме как медленный backup/restore и проблема NOT NULL

Ваше мнение?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36040869
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chys
Рассматриваем также вариант миграции на PostgreSQL/SQLite/FireBird. Из сомнений:
...
- FireBird вроде как нет серьезных недостатков, кроме как медленный backup/restore и проблема NOT NULL
А что такое - медленный backup/restore ? Насколько медленный ? В каких условиях ?
"Проблема NOT NULL" - её создают себе сами только неопытные разработчики. Зайдите на профильный форум и проинтересуйтесь деталями.

PS За остальных не скажу, но думаю - сейчас начнётся
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36040913
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
- PostgreSQL хорош под юникс системы и нестабилен на винде, медленно работают INSERT/UPDATE/DELETE и требуют постоянного вызова VACUUM;
Спорный вопрос насчёт скорости работы. VACUUM не блокирует таблицу. Кстати,
а как с реализацией версионности у MSSQL? Ничего дефрагментироватьть не требуется?
Кто мешает вынести СУБД на отдельную машину?
Хотя, конечно, ежли требуется плотная завязка на венду - покупайте микрософт.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36040915
Chys
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvladА что такое - медленный backup/restore ? Насколько медленный ? В каких условиях ?
Вот отсюда стянуто - тынц.
hvladPS За остальных не скажу, но думаю - сейчас начнётся
В этом и суть. Я не спец в СУБД, поэтому терзайте. Мы, по видимому, будем обращаться к консультантам перед миграцией, но хотелось также послушать мнение форумчан.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36040941
Chys
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ОКТОГЕНКстати, а как с реализацией версионности у MSSQL? Ничего дефрагментироватьть не требуется?.
Да вроде как нет...
ОКТОГЕНКто мешает вынести СУБД на отдельную машину?.
Нужно чтобы каждая машина в филиале могла работать автономно даже, если она окажется отрезана от сети. Поэтому в текущем сценарии имплементирована децентрализованная схема с локальными бд.
ОКТОГЕН[Хотя, конечно, ежли требуется плотная завязка на венду - покупайте микрософт.В том и суть, чтобы не покупать, а пользовать в филиалах облегченную бесплатную Express версию.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36040942
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chys, хотя если исходить из принципа единообразия, то лучше ставить везде
одинаковый софт. В случае постгриса и т.д. вам придётся переводить все проги во всех
офисах на него. В случае с мелкософтом, только один офис, да и программеры привыкли.
Быстрее получится.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36040984
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ChyshvladА что такое - медленный backup/restore ? Насколько медленный ? В каких условиях ?
Вот отсюда стянуто - тынц.Ну, про nbackup там сказано. Добавлю только, что в 2.1 большие сортировки выполняются гораздо быстрее, чем ранее.
Т.е. основная причина медленного рестора gbak\'ом (построение больших индексов) как минимум стала не такой насущной.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36041053
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chys, если же требуется снизить стоимость продукта за счёт лицензий,
то лучше начинать(!) новую версию(!) на постгрисе последнем(которая вторая бета).
Из плюсов там много фич, далеко не все из них есть в новом SQL сервере,
никаких ограничений на использование+серьёзная оптимизация работы.
Но только стоит отметить, что вам придётся осваивать абсолютно другую СУБД,
с другими концепциями, другими принципами и подходами.
Переход может затянуть выпуск версии по времени.
Просто скопировать запросы без их переписывания вряд ли получится.
Все запросы, хранимые процедуры придётся писать заново, а кое-где и менять логику приложения(й).
И так далее. Оно вам надо?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36041110
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
прежде, чем рассматривать Firebird как конкурента Postgres - поищите тут обсуждения мегофичи firebird - cursor stability, за одно поддержки SMP, лога транзакций и т.п.
странный у вас получился подбор конкурентов Postgre ...

ЗЫ. если у вас мсскл в блокировочном режиме еще бесплатный вариант db2 express можно рассмотреть, там менее жестокие ограничения (неограничен размер базы), чем у бесплатных mssql express и oracle XE.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36041117
ART-CODE_NOPASSWORD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Голосую за MSSQL 2005/2008 Express
По возможностям - реальным конкурентом может быть только Oracle.
Пояснение:
при переходе на новый сервер вы конечно-же начнете переносить всю бизнес - логику на хранимки на сервере -Вот тут и пригодятся многие вкусности профессионального сервера...
Например, Вам могут потребоваться такие возможности сервера: http://www.rsdn.ru/article/db/Yukon_Async.xml
А расширенные хранимые процедуры - dll или сборки CLR !
http://kozin1.narod.ru/newsite/esp.htm
http://msdn.microsoft.com/ru-ru/magazine/cc163473.aspx

Ограничение 4Г легко снимается нарезкой данных (количество баз не ограничено)
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36041131
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Yo.!!
You wrote on Mon, 15 Jun 09 09:13:41 GMT:

Yo Y> прежде, чем рассматривать Firebirdу Йоу очередной приступ...

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

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36041143
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийу Йоу очередной приступ...

Но в одном он прав: раз уж топикстартер подсел на продукцию MS, к
Firebird ему соваться не стоит.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36041701
Chys
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Народ, пасиб за мысли!

ART-CODE_NOPASSWORDОграничение 4Г легко снимается нарезкой данных (количество баз не ограничено) Я вот только думаю, а насколько стабильна подобная нарезка? Мне довелось работать с NexusDB и она очень нестабильно относилась к sql запросам из двух баз.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36041778
Фотография Megabyte
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Раз центральный сервак MSSQL, то логичнее использовать MSSQL Express, потом проще мигрировать на полноценный сервак.
----
Проходя мимо разложенных граблей, ты теряешь драгоценный опыт. (с)
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36042146
andsm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ChysНарод, пасиб за мысли!

ART-CODE_NOPASSWORDОграничение 4Г легко снимается нарезкой данных (количество баз не ограничено) Я вот только думаю, а насколько стабильна подобная нарезка? Мне довелось работать с NexusDB и она очень нестабильно относилась к sql запросам из двух баз.
Работать будет, падать не будет. Насколько помню, есть проблемы с использованием статистик при создании плана запроса по нескольким базам, но детали не помню. - В худшем случае, некоторые запросы использующие несколько баз будут подтормаживать. Можно исправить оптимизацией запросов.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36042209
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий
Yo Y> прежде, чем рассматривать Firebirdу Йоу очередной приступ...
Ну да, ему ж не лог не показали...
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36054826
Chys
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Народ, подкиньте парочку недостатков Firebird, пожалуйста. :)
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36054828
Chys
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ChysНарод, подкиньте парочку недостатков Firebird, пожалуйста. :)
Уточняю - парочку общих и парочку для предложенной архитектуры (ГО/Ф), если можно. Заранее спасиб!
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36055046
ДжекНепотрошитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ChysУточняю - парочку общих и парочку для предложенной архитектуры (ГО/Ф), если можно. Заранее спасиб!
Можно в общем ее поругать за сравнительно плохую поддержку многопроцессорных конфигураций и за сравнительно бедный язык (в сравнении с TransactSQL или PL/SQL). Для предложенной архитектуры у нее недостатков как бы и нет. Да собственно, и архитектуры тут не было описано, только общие соображения
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36055851
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДжекНепотрошитель
Для предложенной архитектуры у нее недостатков как бы и нет.

Что-то я не припомню бесплатного репликатора FB<->MS...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36059490
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДжекНепотрошительза сравнительно бедный язык (в сравнении с TransactSQL
И чем он беднее?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36060513
Фотография Megabyte
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVДжекНепотрошительза сравнительно бедный язык (в сравнении с TransactSQL
И чем он беднее?
Денег наверн меньше вложили :)

По теме: ну может и меньше там возможностей, но они, по крайней мере продуманы, ничего лишнего!
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36060928
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MegabyteДенег наверн меньше вложили :)

MegabyteПо теме: ну может и меньше там возможностей, но они, по крайней мере продуманы, ничего лишнего!
В TransactSQL тоже отсутствуют некоторые лишние возможности.. Выражения в параметрах процедур например :).
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36061548
ДжекНепотрошитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Что-то я не припомню бесплатного репликатора FB<->MS...

А я к тому же не припомню, чтобы топикстартер что-то про необходимость репликации упоминал :)

FreemanZAVИ чем он беднее?
Да, да, я знаю - он достаточен для выполнения любых задач, эту фразу от апологетов Файрберда я слышал мильён раз, я не пытаюсь ее оспаривать, и более того, я абсолютно с этим согласен. Он действительно вполне достаточен. Но Transact SQL предоставляет больше возможностей, и пусть все это тоже можно замечательно реализовать на птичке (UDFами или еще как), но там оно УЖЕ реализовано, а значит, какому-нибудь программисту работы будет меньше. Пусть, к примеру, 99% программистов начхать на встроенную поддержку XML в СКЛсервере, но ведь 1% будет-то счастлив ее иметь ;-)
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36061596
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДжекНепотрошитель
А я к тому же не припомню, чтобы топикстартер что-то про необходимость
репликации упоминал :)

А как же "предложенная архитектура (ГО/Ф)"? Такая архитектура
подразумевает репликацию по определению.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36061601
ДжекНепотрошитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
А как же "предложенная архитектура (ГО/Ф)"? Такая архитектура
подразумевает репликацию по определению.

Ну почему же? Здесь ведь нет схемы данных. Вполне возможно, в филиалах идет накопление и обработка данных, а в ГО пересылают итоговые отчеты...
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36061616
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДжекНепотрошительа в ГО пересылают итоговые отчеты...

....которые там загоняют в свою БД. Частичная репликация итогов не
перестаёт быть репликацией как таковой. Даже если осуществляется не
софтом, а ручками операторов.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36061665
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДжекНепотрошительведь 1% будет-то счастлив ее иметь ;-)
Гораздо больше счастья приносят джоины с ХП и возможность использовать выражения в параметрах. Причём ни первое ни второе UDF-ами не заменишь.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36062336
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДжекНепотрошительНо Transact SQL предоставляет больше возможностей, и пусть все это тоже можно замечательно реализовать на птичке (UDFами или еще как), но там оно УЖЕ реализовано, а значит, какому-нибудь программисту работы будет меньше. Пусть, к примеру, 99% программистов начхать на встроенную поддержку XML в СКЛсервере, но ведь 1% будет-то счастлив ее иметь ;-)
- Што, еще адын Word?
Нуивонфих...
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36062831
ДжекНепотрошитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVГораздо больше счастья приносят джоины с ХП и возможность использовать выражения в параметрах. Причём ни первое ни второе UDF-ами не заменишь.
Согласен, полезная фича. Но тут, скажем так, разница идеологий. ХР в птичке и в МССКЛ или его дедушке Субасе АСЕ - это разные сущности. Кому-то, возможно, ближе к сердцу возможность выдать из ХР несколько наборов данных... В конце-концов, для любителей джойнить результаты хранимок, там есть табличные функции.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36063766
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДжекНепотрошительНо тут, скажем так, разница идеологий.
Ага, если в fb нет какого-либо функционала, то это говорит об его ущербности, а если чего-то нет в MSSQL, то о разнице идеологий.

ДжекНепотрошительВ конце-концов, для любителей джойнить результаты хранимок, там есть табличные функции
И получится жалкое подобие.Чтобы выбрать например одну запись из миллиона, эти функции потащат весь миллион записей во временные таблицы, я уж не говорю про джоин через параметры.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36063775
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVЧтобы выбрать например одну запись из миллиона, эти функции потащат весь миллион записей во временные таблицы
Тут я наврал наверное :)
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064017
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVFreemanZAVЧтобы выбрать например одну запись из миллиона, эти функции потащат весь миллион записей во временные таблицы
Тут я наврал наверное :)
применительно к inline-функциям - да, наврал.

а есть в великом могучем FB аналог CROSS APPLY? хотя бы жалкое подобие
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064023
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зайцев Фёдор
а есть в великом могучем FB аналог CROSS APPLY? хотя бы жалкое подобие

Поскольку BOL про такую штуку ничего мне не сказал, то, похоже, её нет и
в великом могучем MS SQL. Ссылкой на стандарт не поделишься?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064039
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зайцев Фёдор
а есть в великом могучем FB аналог CROSS APPLY? хотя бы жалкое подобие
Есть аналог OUTER APPLY. CROSS APPLY запросто эмулируется условием в where. Причём по скорости в этом случае MSSQL вряд ли будет иметь преимущество перед fb. А вот сджойнить процедуру или в ф-ю именно как таблицу в MSSQL не так-то просто.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064139
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Поскольку BOL про такую штуку ничего мне не сказал, то, похоже, её нет и
в великом могучем MS SQL. Ссылкой на стандарт не поделишься?
попробуйте поискать в MSDN или поставить новый BOL (не от 2000)

FreemanZAVЕсть аналог OUTER APPLY.
Можно ссылку?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064159
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зайцев Фёдорпопробуйте поискать в MSDN

Вообще-то я говорил о ссылке на ANSI SQL стандарт. MSDN как бы таковым
не является...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064167
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зайцев Фёдор
Можно ссылку?
А нафига? Это просто внешнее объединение - left join myproc...
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064201
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVЗайцев Фёдор
Можно ссылку?
А нафига? Это просто внешнее объединение - left join myproc...JOIN и APPLY - не одно и то же. Аналогов, я так понимаю, нет. Простой пример из последнего "творчества"
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
	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'ом не сделаешь. :(
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064203
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVПричём по скорости в этом случае MSSQL вряд ли будет иметь преимущество перед fb. А вот сджойнить процедуру или в ф-ю именно как таблицу в MSSQL не так-то просто.
join проверю, хотя и не понимаю, почему именно left.
что касается "сджойнить процедуру или в ф-ю" - а в FB это вообще возможно ?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064259
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senya_LАналогов, я так понимаю, нет
execute block
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064266
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зайцев ФёдорFreemanZAVПричём по скорости в этом случае MSSQL вряд ли будет иметь преимущество перед fb. А вот сджойнить процедуру или в ф-ю именно как таблицу в MSSQL не так-то просто.
join проверю, хотя и не понимаю, почему именно left.
что касается "сджойнить процедуру или в ф-ю" - а в FB это вообще возможно ?
Совершенно нет желания заниматься обучением
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064335
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, провёл тест курсоров в MSSQL и в fb.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
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

Тест такой:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
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 это выглядит так

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
 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 раз. Хотя, возможно я что-то не так делаю
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064391
RENaissance
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAV, MSSQL ориентирован на работу со множествами, а не курсорами. Поэтому, ваш результат вполне реален.

З.Ы Попробуйте при объявлении курсора указать не FORWARD_ONLY, FAST_FORWARD.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064416
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVЗайцев ФёдорFreemanZAVПричём по скорости в этом случае MSSQL вряд ли будет иметь преимущество перед fb. А вот сджойнить процедуру или в ф-ю именно как таблицу в MSSQL не так-то просто.
join проверю, хотя и не понимаю, почему именно left.
что касается "сджойнить процедуру или в ф-ю" - а в FB это вообще возможно ?
Совершенно нет желания заниматься обучением
Не нужно путать желания и возможности.
FreemanZAV
Причём по скорости в этом случае MSSQL вряд ли будет иметь преимущество перед fb.
в FB, судя по всему, нет аналога APPLY. как вы собираетесь сравнивать скорости?
FreemanZAV
А вот сджойнить процедуру или в ф-ю именно как таблицу в MSSQL не так-то просто.
в FB появились табличные функции? если нет, то "не так-то просто" всё-таки лучше, чем невозможно

З.Ы.
если не секрет, что выбирает?
Код: plaintext
FOR SELECT FIRST  1  SKIP  1000000  i FROM table2
просто не очень похоже на "выбрать все записи", как в примере для MSSQL
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064440
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зайцев ФёдорFOR SELECT FIRST 1 SKIP 1000000 i FROM table2 если не секрет, что выбирает?
Пусть будет так
Код: plaintext
FOR SELECT  i FROM table2 
Результат не меняется

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

Зайцев Фёдорв FB появились табличные функции? если нет, то "не так-то просто" всё-таки лучше, чем невозможно
Непросто говорить с человеком, который не знает предмета разговора
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064454
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RENaissance
FreemanZAV, MSSQL ориентирован на работу со множествами, а не курсорами. Поэтому, ваш результат вполне реален.

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


MSSQL - 37,172 сек
Firebird - 578 ms
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064463
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to RENaissance
Хотя
Код: plaintext
select COUNT(*) from table2

MSSQL - 219 ms
Firebird - 453 ms
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064464
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVЗайцев Фёдорв FB появились табличные функции? если нет, то "не так-то просто" всё-таки лучше, чем невозможно
Непросто говорить с человеком, который не знает предмета разговора
Ничего, я же терплю.
так появились табличные функции? документация с firebirdsql.org не признаётся.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064472
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зайцев ФёдорНичего, я же терплю.
Поскольку разговор ведётся сам с собой
Зайцев Фёдортак появились табличные функции? документация с firebirdsql.org не признаётся.
Опять. Говорю последний раз, их в fb c успехом заменют ХП
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064489
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVОпять. Говорю последний раз, их в fb c успехом заменют ХП
а это ничего, если мы будем сравнивать "наши" джойны функций, с "вашими" джойнами процедур?
правда будет сложно придумать место для сложностей, но ведь не это же главное, верно ?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064501
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зайцев ФёдорFreemanZAVОпять. Говорю последний раз, их в fb c успехом заменют ХП
а это ничего, если мы будем сравнивать "наши" джойны функций, с "вашими" джойнами процедур?
правда будет сложно придумать место для сложностей, но ведь не это же главное, верно ?
Не главное, главное мир во всём мире.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064516
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVНе главное, главное мир во всём мире.
вот и отлично.
кстати, прямым аналогом вашего курсора является

Код: plaintext
1.
2.
declare @i int;
select @i = i from table2;

м.б. сравнить что-нибудь более осязаемое?

З.Ы.
... пользовательские агрегатные функции, к примеру )
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064529
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зайцев Фёдорselect @i = i from table2;
Человек точно не знает, о чём говорит

Зайцев Фёдорпользовательские агрегатные функции, к примеру )
Или автономные транзакции ...
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064574
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зайцев Фёдорпрямым аналогом вашего курсора является select @i = i from table2;
Чтобы прояснить некоторым, что такое всё-таки курсоры fb, переделаю вышеприведённый пример:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
  EXECUTE BLOCK      returns (i INTEGER) AS
-- DECLARE VARIABLE  i INTEGER;
 DECLARE C CURSOR FOR (SELECT  i FROM table2);
 BEGIN
  OPEN C;
  WHILE ( 1  =  1 ) DO
  BEGIN
    FETCH C INTO :i;
    IF(ROW_COUNT =  0 )THEN
      LEAVE;

  END
  CLOSE C;
  SUSPEND;
END
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064597
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVЗайцев Фёдорпрямым аналогом вашего курсора является select @i = i from table2;
Чтобы прояснить некоторым, что такое всё-таки курсоры fb, переделаю вышеприведённый пример:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
  EXECUTE BLOCK      returns (i INTEGER) AS
-- DECLARE VARIABLE  i INTEGER;
 DECLARE C CURSOR FOR (SELECT  i FROM table2);
 BEGIN
  OPEN C;
  WHILE ( 1  =  1 ) DO
  BEGIN
    FETCH C INTO :i;
    IF(ROW_COUNT =  0 )THEN
      LEAVE;

  END
  CLOSE C;
  SUSPEND;
END


вообще-то я в курсе.
кстати, сколько работает такой код для приведённого ранее примера?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064607
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
800 ms
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064608
ABC_1982
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Желание увидеть что-то более прикладное лично у меня не уменьшилось. Можно увидеть?

P.S. После такой переделки хотелось бы также увидеть время выполнения.
P.P.S. Версия MS SQL Server какая для сравнения приводится?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064611
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для тестов использовался mssql 2005
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064627
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAV
Чтобы прояснить некоторым, что такое всё-таки курсоры fb, переделаю вышеприведённый пример:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
  EXECUTE BLOCK      returns (i INTEGER) AS
-- DECLARE VARIABLE  i INTEGER;
 DECLARE C CURSOR FOR (SELECT  i FROM table2);
 BEGIN
  OPEN C;
  WHILE ( 1  =  1 ) DO
  BEGIN
    FETCH C INTO :i;
    IF(ROW_COUNT =  0 )THEN
      LEAVE;

  END
  CLOSE C;
  SUSPEND;
END


я так понимаю, что suspend вынесен из цикла по чистой случайности. иначе будет именно
Код: plaintext
1.
2.
declare @i int;
select @i = i from table2;
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064629
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зайцев Фёдор
кстати, сколько работает такой код для приведённого ранее примера?
Не понял сначала фразу. Для примера, приведённого ранее, я уже результаты отписал.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064646
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зайцев ФёдорFreemanZAV
Чтобы прояснить некоторым, что такое всё-таки курсоры fb, переделаю вышеприведённый пример:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
  EXECUTE BLOCK      returns (i INTEGER) AS
-- DECLARE VARIABLE  i INTEGER;
 DECLARE C CURSOR FOR (SELECT  i FROM table2);
 BEGIN
  OPEN C;
  WHILE ( 1  =  1 ) DO
  BEGIN
    FETCH C INTO :i;
    IF(ROW_COUNT =  0 )THEN
      LEAVE;

  END
  CLOSE C;
  SUSPEND;
END


я так понимаю, что suspend вынесен из цикла по чистой случайности. иначе будет именно
Код: plaintext
1.
2.
declare @i int;
select @i = i from table2;
Суровый человек. И ни фига так не будет. Что select @i = i from table2 может сделать с i?
SUSPEND вынесен только чтобы не зависеть от клиента. Честно - устал я объяснять.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064654
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAV Что select @i = i from table2 может сделать с i?
SUSPEND вынесен только чтобы не зависеть от клиента. Честно - устал я объяснять.
буквально то же самое - @i получит значение i из какой-то строки table2
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064718
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVSenya_LАналогов, я так понимаю, нет
execute blockПри всем уважении... но не надо путать кислое с пресным. С ES можно сделать практически все, но от этого оно не станет похожим на конструкцию APPLY.
Зайцев Фёдортак появились табличные функции?Почти полным аналогом table valued function (TVF) в FB является селективная ХП (с блоком returns).
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064750
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senya_LПочти полным аналогом table valued function (TVF) в FB является селективная ХП (с блоком returns).
знаю - работал и IB и FB. просто хотел подчеркнуть, что у FB нет никаких преимуществ при джойне процедур с функциями )
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064763
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зайцев ФёдорSenya_LПочти полным аналогом table valued function (TVF) в FB является селективная ХП (с блоком returns).
знаю - работал и IB и FB. просто хотел подчеркнуть, что у FB нет никаких преимуществ при джойне процедур с функциями )а модифицировать данные внутри этой селективной ХП тоже нельзя?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064771
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зайцев Фёдор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 нет никаких преимуществ при джойне процедур с функциями )а модифицировать данные внутри этой селективной ХП тоже нельзя?Можно.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064820
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senya_L
предикаты и условия слияния могут "пропагироваться" (хз как попроще
сказать) внутрь TVF через тот же APPLY, но это касается только простых
функций с одним селектом.

И в чём тогда смысл таких TVF или хотя бы преимущество перед View?..
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064830
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Senya_L
предикаты и условия слияния могут "пропагироваться" (хз как попроще
сказать) внутрь TVF через тот же APPLY, но это касается только простых
функций с одним селектом.

И в чём тогда смысл таких TVF или хотя бы преимущество перед View?..


как задать условие where для поля, которое не возвращается ?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064839
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зайцев Фёдор просто хотел подчеркнуть, что у FB нет никаких преимуществ при джойне процедур с функциями )
Руки чешутся сравнить производительность, но лень...
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064844
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senya_LПри всем уважении... но не надо путать кислое с пресным. С ES можно сделать практически все, но от этого оно не станет похожим на конструкцию APPLY.
У меня два вопроса.
1.Если один и тот же результат можно получить за одно и то же время, то в чём разница?
2.APPLY есть в стандарте?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064849
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зайцев ФёдорFreemanZAV Что select @i = i from table2 может сделать с i?
SUSPEND вынесен только чтобы не зависеть от клиента. Честно - устал я объяснять.
буквально то же самое - @i получит значение i из какой-то строки table2
Вообще пример был ориентирован не на конечный результат, а на сравнение производительности. Ну да ладно, если академические примеры трудны для восприятия, то скажу, что если вставить suspend в цикл, то ibexpert фетчит записи за 3 с небольшим секунды. Даже в этом случае MSSQL медленнее примерно в 10 раз
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064867
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAV
Вообще пример был ориентирован не на конечный результат, а на сравнение производительности.
не понимаю, как можно сравнивать производительность полностью игнорируя конечный результат.
FreemanZAV Ну да ладно, если академические примеры трудны для восприятия
для восприятия трудны взятые с потолка first 1 skip...
вам, видимо, нужно ещё потренироваться в написании "академических примеров"
FreemanZAV
то скажу, что если вставить suspend в цикл, то ibexpert фетчит записи за 3 с небольшим секунды. Даже в этом случае MSSQL медленнее примерно в 10 раз
это прекрасно, но как так вышло и что из этого следует?
м.б. именно такой код пришлось оптимизировать в первую очередь, и для этого были серьёзные причины?
что именно предполагается быстро-быстро делать таким образом ?
что-нибудь такое?
Код: plaintext
1.
2.
3.
4.
update T1 set
  T1.f1 = T2.f1
from table1 T1
  join table2 T2 on T1.id = T2.id
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064919
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAV1.Если один и тот же результат можно получить за одно и то же время, то в чём разница?Дело в том, что результат получим один и тот же, но время будет, скорее всего, потому как
Senya_Lпредикаты и условия слияния могут "пропагироваться" (хз как попроще сказать) внутрь TVF через тот же APPLYТо же самое относится не только к TFV, но и к подзапросам. В дополнение пример
Код: plaintext
1.
2.
3.
4.
select
  RT.*,
  SP.*
from RegularTable RT
  left join StoredProc(RT.f1, RT.f2) SP on RT.f1 = SP.f1
Выборка из StoredProc никак не будет зависеть ни от передаваемых как параметры RT.f1 и RT.f2, ни от условия слияния. Всегда ХП выдаст полный рекордсет, который только потом будет соединен с RegularTable. Тебе отлично известно, что в планах выборка из ХП всегда идет натуралом. В APPLY оптимизатором может быть использован индекс. Кстати, именно из-за этого свойства я и стал изучать этот оператор. Мог бы еще привести примеров, но лениво и, честно говоря, пока некогда. И так накатал уже :)
FreemanZAV2.APPLY есть в стандарте?Думаю, ответ ты знаешь ;), но что хочешь этим сказать? Как будто соответствие стандартам останавливало разработчиков СУБД от использования нестандартных операторов?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064954
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senya_LТебе отлично известно, что в планах выборка из ХП всегда идет натуралом.
Чтож сегодня такое? Никто толком ничего не читает. Я вроде говорил в данном случае о EB.
Зайцев Фёдорэто прекрасно, но как так вышло и что из этого следует?
Вывод очевиден, курсоры в mssql в 10 медленнее чем в fb, а боле ничего.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064965
leonbn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVВывод очевиден, курсоры в mssql в 10 медленнее чем в fb, а боле ничего.
Отличный вывод! Сахар слаще горчицы, что теперь на мясо сахар сыпать
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064986
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leonbn
Отличный вывод!
А что, по моему неплохой?
leonbn что теперь на мясо сахар сыпать
А это как то поможет производительности курсоров mssql? Если да, почему бы нет?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064994
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зайцев Фёдору FB нет никаких преимуществ при джойне процедур с функциями )
А всё-таки можно внутри ф-ии данные модифицировать или нет? В fb это можно сделать запросто, а MSSQL материться, по крайней мере у меня.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064995
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зайцев Фёдорчто именно предполагается быстро-быстро делать таким образом ?
Вспоминаются слова ДжекНепотрошитель99% программистов начхать на встроенную поддержку XML в СКЛсервере, но ведь 1% будет-то счастлив ее иметь ;-)
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36064997
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVА всё-таки можно внутри ф-ии данные модифицировать или нет? В fb это можно сделать запросто, а MSSQL материться, по крайней мере у меня.

Данные в таблицах бд - нет. Тока в локальных табличных переменных в функции. Side effect, понимаете. Вот делаете Вы SELECT с APLLY к табличной функции, а она, вау, данные в таблицах модифицирует.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36065000
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinДанные в таблицах бд - нет
Ну, нет так нет
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36065036
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем, возможности TSQL я бы не стал рассматривать как преимущество перед fb. А основное преимущество - это производительность. Fb тут MSSQL не соперник.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36065141
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVА основное преимущество - это производительность. Fb тут MSSQL не соперник.
пока мы наблюдали, как FB очень быстро делает ничего.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36065159
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
set nocount on;
/*
drop table table1;
create table table1
(
  id int not null primary key,
  name varchar(300) not null
);
with X (n) as
(
  select 1
  union all
  select n+1 from x where n <= 99999
)
insert into table1(ID, NAME)
select n, cast(n as varchar(300))
from X
option (maxrecursion 0);
create index IX_S1 on table1 (name, id);
--*/

select top  1  Q.*
from table1 Q
  join table1 W on Q.ID = W.ID
order by Q.name, Q.id;

FreemanZAV, не составит выполнить это и повторить в FB.
Скажите пожалуйста, во сколько раз быстрее FB на этом примере ?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36065179
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
к примеру выше

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
create function f_qwe()
returns table
as
return (select id from table1)
go

create function f_asd()
returns @t table (id int not null)
as
begin
  insert into @t (id) select id from table1;
  return;
end
go

select T.id
from table1 T
  left join f_qwe() P on T.id = P.id;

select T.id
from table1 T
  left join f_asd() P on T.id = P.id;

против

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
create or alter procedure p_qwe
returns (id integer)
as
begin
  for select id from table1 into :id do
    suspend;
end

select T.*
from table1 T
  left join p_qwe P on T.id = P.id

с left join я так и не дождался результатов от FB. добиться преимущества FB на inner join так и не удалось; возможно я просто не умею его готовить, но там очень простое администрирование, говорят, так что готов принять к сведению, что я делаю не так.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36065256
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зайцев Фёдор
FreemanZAV, не составит выполнить это и повторить в FB.
Скажите пожалуйста, во сколько раз быстрее FB на этом примере ?
От разошёлся. Вообще-то я говорил, что MSSQL производительней fb и fb не соперник MSSQL. Просто забыл добавить "в работе со множествами", как говорил RENaissance. И, кстати, привёл пример, где mssql быстрее раза в три
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36065266
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зайцев Фёдордобиться преимущества FB на inner join так и не удалось;
Есть конечно один нюанс. У винды файловый кэш не очень, поэтому всегда приходится менять один параметр в конфиге. В linux такой проблемы нет. Вот тесты под виндой. Я переделал всё на table2, которую я уже приводил в примерах и сделал count(*) для того, чтобы исключить влияние клиентских компонентов.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
create function f_asd()
returns @t table (id int not null)
as
begin
  insert into @t (id) select i from table2;
  return;
end
go

Код: plaintext
1.
2.
3.
4.
5.
6.
create or alter procedure p_qwe
returns (id integer)
as
begin
  for select i  from table2 into :id do
    suspend;
end

Сам тест:
Код: plaintext
1.
2.
select COUNT(*) 
from table2 T
  inner join f_asd() P on T.i = P.id;

Код: plaintext
1.
2.
select count(*)
from table2 T
  inner join p_qwe P on T.i  = P.id

mssql - 8,281 sec
fb - 3,672 sec

А как делать эффективный left join с ХП в fb я не скажу, из вредности.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36065271
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пардон, ошибся. Не ту ф-ю тестировал

Код: plaintext
1.
2.
3.
4.
create function f_qwe()
returns table
as
return (select i  from table2)
go

mssql - 953 ms
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36065309
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVПардон, ошибся. Не ту ф-ю тестировал

Код: plaintext
1.
2.
3.
4.
create function f_qwe()
returns table
as
return (select i  from table2)
go

mssql - 953 ms
Однако тут не всё слава богу. Такой ситаксис не допускает использование никаких переменных. Т.е. такой номер не пройдёт
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
create function f_qqq()
returns   table  
as
begin
 declare @q int
 
 return select @q
end
и приходится использовать вариант ф-ии f_asd. А в этом случае, как показывают тесты, fb имеет преимущество
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36065324
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если я правильно путаю, в случае с ф-ей f_qwe, MSSQL могёт построить план как угодно, т.е он интерпретирует её как представление, или типа того. В случае с f_asd ему деваться некуда и приходится юзать временные таблицы. Ещё хуже в этом случае ситуация с outer apply . Например
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
create function f_qqq(@i int)
returns @t table (id int not null) 
as
begin
 insert into @t (id) select @i
 return 
end


Запрос
Код: plaintext
1.
2.
 select COUNT(*) 
 from table2 T
outer apply f_qqq(T.i) p
И сервер надолго задумывается.

В fb подобная конструкция выполняется за 3 секунды
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36065372
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senya_L
Думаю, ответ ты знаешь ;), но что хочешь этим сказать? Как будто соответствие стандартам останавливало разработчиков СУБД от использования нестандартных операторов?
Я не зря спросил про стандарт. Если это стандартная конструкция, то я напишу хотелку в трекер. Иначе разработчики вряд ли будут на эту хотелку смотреть.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36065553
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVВ fb подобная конструкция выполняется за 3 секунды

Код: plaintext
1.
2.
3.
4.
create function f_qqq(@n int)
returns table
as
  return (select id = @n)
go
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36065566
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVSenya_L
Думаю, ответ ты знаешь ;), но что хочешь этим сказать? Как будто соответствие стандартам останавливало разработчиков СУБД от использования нестандартных операторов?
Я не зря спросил про стандарт. Если это стандартная конструкция, то я напишу хотелку в трекер. Иначе разработчики вряд ли будут на эту хотелку смотреть.Понравилось высказывание отсюда
авторCROSS and OUTER APPLY are not part of the ANSI SQL standard; they are intended for compatibility with Microsoft SQL Server ."Дедушка" подстраивается под "внучка" .
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36065614
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зайцев ФёдорFreemanZAVВ fb подобная конструкция выполняется за 3 секунды

Код: plaintext
1.
2.
3.
4.
create function f_qqq(@n int)
returns table
as
  return (select id = @n)
go

И что? Суть от этого не меняется. Если нужна сложная обработка в функциях, которая не решается одним запросом, то MSSQL здесь уступает fb
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36065619
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senya_LFreemanZAVSenya_L
Думаю, ответ ты знаешь ;), но что хочешь этим сказать? Как будто соответствие стандартам останавливало разработчиков СУБД от использования нестандартных операторов?
Я не зря спросил про стандарт. Если это стандартная конструкция, то я напишу хотелку в трекер. Иначе разработчики вряд ли будут на эту хотелку смотреть.Понравилось высказывание отсюда
авторCROSS and OUTER APPLY are not part of the ANSI SQL standard; they are intended for compatibility with Microsoft SQL Server ."Дедушка" подстраивается под "внучка" .
Ты это к чему?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36065655
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAV
И что? Суть от этого не меняется. Если нужна сложная обработка в функциях, которая не решается одним запросом, то MSSQL здесь уступает fb
пока это только слова.
предыдущие примеры не этого подтверждают. ФБ либо быстро делает ничего (здесь), либо медленно делает хоть что-то.
но у меня есть достойный ответ - MSSQL вообще всё делает значительно быстрее, но я из вредности не покажу как )
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36065673
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зайцев ФёдорФБ либо быстро делает ничего
Ибо те, кто работает с mssql настолько боятся курсоров, что стараются из не замечать (они для них ничто).

Тем полезнее им кажется запрос
Код: plaintext
1.
2.
select T.id
from table1 T
  left join f_asd() P on T.id = P.id;
который делает тоже что и
Код: plaintext
1.
select T.id
from table1 T


Зайцев ФёдорMSSQL вообще всё делает значительно быстрее

Ну вот и славно
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36065684
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зайцев Фёдорпредыдущие примеры не этого подтверждаю
Человек очень странный. Сам же привёл три теста, на двух из которых fb проиграл, а на одном выиграл.А потом говорит, что это всё фигня. Я правда дополнил это ещ одним тестом, где проиграл mssql, возможно тест ерундовый, но чем лучше его три в таком случае?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36065719
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVа на одном выиграл это на каком из моих?
FreemanZAV Я правда дополнил это ещ одним тестом, где проиграл mssql, возможно тест ерундовый, но чем лучше его три в таком случае?
дело в том, что вот это утверждение ложно, и сделаные на его основе тесты - тоже :
FreemanZAVВ случае с f_asd ему деваться некуда и приходится юзать временные таблицы.
в остальном согласен - тест ерундовый
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36065732
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зайцев Фёдорна его основе тестыне тесты, а выводы )
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36065737
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зайцев Фёдорэто на каком из моих?
Мда, человек не помнит, что пишет

Код: plaintext
1.
2.
select T.id
from table1 T
  left join f_asd() P on T.id = P.id;

Далее
Зайцев Фёдордобиться преимущества FB на inner join так и не удалось;

Стало быть здесь
Код: plaintext
1.
2.
select T.*
from table1 T
  left join p_qwe P on T.id = P.id
left меняется на inner
Код: plaintext
1.
2.
select T.*
from table1 T
  inner join p_qwe P on T.id = P.id

И здесь fb впереди
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36065743
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зайцев Фёдорв остальном согласен - тест ерундовый
Потому как mssql здесь проиграл конкретно
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36065849
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVЗайцев Фёдорв остальном согласен - тест ерундовый
Потому как mssql здесь проиграл конкретно
насколько конкретно? можно с цифрами ?

у меня выходит 1,1 с для FB и < 0,3 для mssql

на каком железе выполняется 8 сек ? верится в трудом
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36065860
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тяк, всё ясно
мы говорим о разных вещах. я предложил выполнить этот тест, а не что-то другое. вы всё-таки попробуйте.

там количество записей 100к, но можно исправить на 1кк - это не принципиально.

а уже потом будем говорить о том, что "И здесь fb впереди" и какой я нехороший, странный и страшный человек.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36065868
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я вроде раза три говорил, что в этом случае mssql будет быстрее в разы, и приводил пример даже, причём раньше этого теста. Но вот интересно, что значит пост ниже, неструктурированный поток сознания?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36065904
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVЯ вроде раза три говорил, что в этом случае mssql будет быстрее в разы, и приводил пример даже, причём раньше этого теста. Но вот интересно, что значит пост ниже, неструктурированный поток сознания?
Вам, как источнику структурированных потоков сознания, не составит труда объяснить, почему "быстрее в разы" означает более низкую производительность. Плиииз.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36065950
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зайцев ФёдорFreemanZAVЯ вроде раза три говорил, что в этом случае mssql будет быстрее в разы, и приводил пример даже, причём раньше этого теста. Но вот интересно, что значит пост ниже, неструктурированный поток сознания?
Вам, как источнику структурированных потоков сознания, не составит труда объяснить, почему "быстрее в разы" означает более низкую производительность. Плиииз.

Вообще я говорил о высокой относительно fb производительности mssql
FreemanZAVА основное преимущество - это производительность

Надо не только собственные посты читать
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36066258
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAV
Вообще я говорил о высокой относительно fb производительности mssql
Надо не только собственные посты читать

действительно. но и свои тоже нужно читать. высказывания ниже плохо вяжутся с "Вообще я говорил о высокой относительно fb производительности mssql".

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

FreemanZAVЕсть аналог OUTER APPLY. CROSS APPLY запросто эмулируется условием в where. Причём по скорости в этом случае MSSQL вряд ли будет иметь преимущество перед fb.

FreemanZAVЗайцев ФёдорFreemanZAV Что select @i = i from table2 может сделать с i?
SUSPEND вынесен только чтобы не зависеть от клиента. Честно - устал я объяснять.
буквально то же самое - @i получит значение i из какой-то строки table2
Вообще пример был ориентирован не на конечный результат, а на сравнение производительности. Ну да ладно, если академические примеры трудны для восприятия, то скажу, что если вставить suspend в цикл, то ibexpert фетчит записи за 3 с небольшим секунды. Даже в этом случае MSSQL медленнее примерно в 10 раз

ну да ладно. мы выяснили, что курсоры в FB быстрее, не более того.
вполне предсказуемый результат.

З.Ы.
FreemanZAVЗайцев Фёдор просто хотел подчеркнуть, что у FB нет никаких преимуществ при джойне процедур с функциями )
Руки чешутся сравнить производительность, но лень...
если не трудно, как именно вы собираетесь джойнить функции с процедурами в FB или MSSQL?
не совсем понятно, что будет сравниваться
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36066367
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зайцев Фёдорну да ладно. мы выяснили, что курсоры в FB быстрее, не более того.
Ура!!! Спустя сутки наконец-то поверил.
Отвечать дальше, чтобы потерять ещё сутки нет никакого желания.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36066397
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAV
Ура!!! Спустя сутки наконец-то поверил.
Отвечать дальше, чтобы потерять ещё сутки нет никакого желания.
видимо это следует считать признанием, что остальные заявления - просто трёп.

если нет, можно продолжить с
"Есть аналог OUTER APPLY. CROSS APPLY запросто эмулируется условием в where. Причём по скорости в этом случае MSSQL вряд ли будет иметь преимущество перед fb "
(это, видимо, особая форма "высокой относительно fb производительности mssql")
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36066414
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторвидимо это следует считать признанием, что остальные заявления - просто трёп.
Считай
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36066557
Фотография Megabyte
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДжекНепотрошитель В конце-концов, для любителей джойнить результаты хранимок, там есть табличные функции.
Зайцев Фёдор
в FB появились табличные функции? если нет, то "не так-то просто" всё-таки лучше, чем невозможно

Как уже сказали, в FB есть селективные ХП. А в MSSQL табличные функции имеют ряд ограничений, например отсутствие возможности использования dynamicSQL.

з.ы. я не идеолог FB и сейчас вообще работаю с MSSQL :)
Имел возможность поработать с обоими серверами. У MSSQL развитие экстенсивное, у FB интенсивное, имхо!
---
Проходя мимо разложенных граблей, ты теряешь драгоценный опыт. (с)
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36066600
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MegabyteИмел возможность поработать с обоими серверами. У MSSQL развитие экстенсивное, у FB интенсивное, имхо!Как Вы это понимаете?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36066730
Сергей Фролов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senya_LКак Вы это понимаете?
MS SQL улучшается внутри, а FB снаружи
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36066737
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Сергей Фролов
> MS SQL улучшается внутри, а FB снаружи

Ну вообще-то наоборот


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36067091
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь Горбонос
> Автор: Сергей Фролов
> MS SQL улучшается внутри, а FB снаружи

Ну вообще-то наоборот



Возможно он имеет ввиду что-то типа автономных транзакций. Фича абсолютно ненужная и всего лишь придающая внешний лоск. Ведь в mssql такого нет.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36067160
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAV
Возможно он имеет ввиду что-то типа автономных транзакций.

Глубокомысленное заявление
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36067249
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Автономным транзакциям даже сервер не нужен. Они живут сами по себе.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36067372
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)FreemanZAV
Возможно он имеет ввиду что-то типа автономных транзакций.

Глубокомысленное заявление
А вот и ортодоксальные ораклисты подтянулись
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36067380
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКТОГЕНАвтономным транзакциям даже сервер не нужен.
А сервер, надо полагать, называется PostgreSQL?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36067425
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVGluk (Kazan)FreemanZAV
Возможно он имеет ввиду что-то типа автономных транзакций.

Глубокомысленное заявление
А вот и ортодоксальные ораклисты подтянулись

А без ярлыков и переходов на личности уже нечего сказать ?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36067442
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)FreemanZAVGluk (Kazan)FreemanZAV
Возможно он имеет ввиду что-то типа автономных транзакций.

Глубокомысленное заявление
А вот и ортодоксальные ораклисты подтянулись

А без ярлыков и переходов на личности уже нечего сказать ?
А что ещё можно сказать человеку, который говорит на тему, о которой не имеет понятия?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36067503
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обращаю внимание на тот факт, FreemanZAV - абориген форума FB/IB. Там принят особый стиль общения, будьте снисходительны.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36067517
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зайцев ФёдорОбращаю внимание на тот факт, FreemanZAV - абориген форума FB/IB. Там принят особый стиль общения, будьте снисходительны.
Ай спасибо за заботу!!!
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36067553
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAV
А что ещё можно сказать человеку, который говорит на тему, о которой не имеет понятия?

О ! теперь еще и оскорбление
Так о чем я не имею понятия ???

P.S. Считать себя умнее других не очень умно
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36067581
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)Так о чем я не имею понятия ???
Вот сначала надо выяснить этот вопрос, а потом постить
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36067763
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVGluk (Kazan)Так о чем я не имею понятия ???
Вот сначала надо выяснить этот вопрос, а потом постить

Тогда прошу прощения, видимо не уловил тонкую иронию
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36069045
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Foxpro?
)))
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36069443
Chys
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ОГО, сколько про fb vs. ms sql написали! :)


Dimitry SibiryakovДжекНепотрошительА я к тому же не припомню, чтобы топикстартер что-то про необходимость репликации упоминал :)А как же "предложенная архитектура (ГО/Ф)"? Такая архитектура подразумевает репликацию по определению.
Dimitry Sibiryakov прав, репликация есть. В текущей архитектуре она осуществляется отдельно написаным софтом.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36079165
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут на днях пришлось занятся PostgreSQL немного. Для интереса протестил. Запрос
Код: plaintext
update table2 set i = i +  1 ; 
Postgre
Код: plaintext
1000000 rows affected, 19016 ms execution time.

firebird
Код: plaintext
Execute       : 12 860,00 ms

Запрос
Код: plaintext
1.
 select count(*) from table2 t
inner join table2 t1 on t.i = t1.i 
Postgre
Код: plaintext
2875 ms.

firebird
Код: plaintext
2 719,00 ms

MSSQL тут конечно опережает всех, поэтому его результаты приводить здесь нет смысла
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36079709
Sergey Orlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chys,

А я предложу человека посмотреть на Adaptive Sybase Anywhere, да платен в отличии от FB, но может работать и как локальный engine, и как нормальный сетевой сервер, т.е клиент будет одинаков, плюс к этому богатые возможности репликаций, да и коннект его к MS SQL'у не составляет трудностей.
К по всему этому может работать на крайне слабом железе, да и администрирование его практически нулевое...
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36079749
ДжекНепотрошитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey OrlovChys,

А я предложу человека посмотреть на Adaptive Sybase Anywhere, да платен в отличии от FB, но может работать и как локальный engine, и как нормальный сетевой сервер, т.е клиент будет одинаков, плюс к этому богатые возможности репликаций, да и коннект его к MS SQL'у не составляет трудностей.
К по всему этому может работать на крайне слабом железе, да и администрирование его практически нулевое...

FB тоже может работать и как локальный engine, и как нормальный сетевой сервер, про слабое железо и администрирование вообще стыдно говорить. И при этом еще и бесплатен... Смысл смотреть на ASA есть разве что если писать для КПК. Да и то, там больше смысла посмотреть на SQL Server Embedded. Вообще, Sybase vs Майкрософт - это самый наглядный в индустрии пример, чем хорошие разработчики СУБД отличаются от нехороших (здесь я, конечно, про ASE, а не ASA)
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36087242
Chys
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey OrlovChys,
А я предложу человека посмотреть на Adaptive Sybase Anywhere, да платен....
Спасибо за предложение, но главное условие - база должна быть бесплатная.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36087270
Chys
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Остановлюсь пока на MS SQL Express, FB и DB2 Express. Теперь бы потестить их... тынц
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36089667
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А у меня компьютер круче :)

FreemanZAVТут на днях пришлось занятся PostgreSQL немного. Для интереса протестил. Запрос
Код: plaintext
update table2 set i = i +  1 ; 
Postgre
Код: plaintext
1000000 rows affected, 19016 ms execution time.

firebird
Код: plaintext
Execute       : 12 860,00 ms

Код: plaintext
1.
2.
3.
seb=> update table2 set i = i +  1 ;
UPDATE  1000000 
Время:  9344 , 832  мс
FreemanZAV
Запрос
Код: plaintext
1.
 select count(*) from table2 t
inner join table2 t1 on t.i = t1.i 
Postgre
Код: plaintext
2875 ms.

firebird
Код: plaintext
2 719,00 ms

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
seb=> select count(*) from table2 t
inner join table2 t1 on t.i = t1.i;
  count
---------
  1000000 
( 1  запись)

Время:  2628 , 575  мс

seb=> select version();
                                                version
--------------------------------------------------------------------------------------------------------
 PostgreSQL  8 . 3 . 7  on i686-redhat-linux-gnu, compiled by GCC gcc (GCC)  4 . 1 . 2   20071124  (Red Hat  4 . 1 . 2 - 42 )
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36178530
FreemanZAV,

Надеюсь, Вы Postgres на Линуксе пускали?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36178533
Ещё одно замечание.
Желательно пускать тесты на десятках коннекций.
На меньшем количестве Postgres ленится.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36178831
Фотография Infernal V. Raven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир ВознесенскийЕщё одно замечание.
Желательно пускать тесты на десятках коннекций.
На меньшем количестве Postgres ленится.
На чем основано данное утверждение?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36178861
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Вознесенский,

Этот совет из области "прогрева аккустических кабелей белым шумом в течении суток"?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36178895
Фотография Infernal V. Raven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklin,

а что, помогает?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36178917
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Infernal V. Raven,

Примерно так же, как подключение акк. кабелей строго по направлению нарисованной на них стрелкb от усилителя к аккустике.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36179059
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: pkarklin
> Infernal V. Raven,

Ага, вы ещё вспомните, что для читаемых данных с диска, сам диск в корпусе нужно располагать выше в пространстве по
отношению к разъему и тогда электроны будут двигатся + разгонятся ещё и ускорением свободного падения, что приведёт к
ускорению передачи данных с диска в ОЗУ


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36179235
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир ВознесенскийFreemanZAV,

Надеюсь, Вы Postgres на Линуксе пускали?
Под виндой
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36179766
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь Горбонос
> Автор: pkarklin
> Infernal V. Raven,

Ага, вы ещё вспомните, что для читаемых данных с диска, сам диск в корпусе нужно располагать выше в пространстве по
отношению к разъему и тогда электроны будут двигатся + разгонятся ещё и ускорением свободного падения, что приведёт к
ускорению передачи данных с диска в ОЗУ
Не факт. Это зависит и от соотношения плотностей электронов и материала проводника - если электроны легче, то они будут "всплывать" вверх! Эх, прикольная была темка...
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36179795
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: tanglir
> Не факт. Это зависит и от соотношения плотностей электронов и материала проводника - если электроны легче, то они
> будут "всплывать" вверх! Эх, прикольная была темка...

Не правда Ваша! От плотности ничего не зависит т.к. электроны являются частью самого вещества. Есть кореляции с
кристалической решёткой проводника и в случае деформаций могут быть "заболоченные" области в которых электронам некуда
продвигатся из-за близко расположеный атомов в сломанной решётке


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36179801
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: tanglir
> Эх, прикольная была темка...

А то! Жаль нигде не находится поиском, как и диагональное програмирование и разгон монитора до 17''



Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36180228
Фотография Apex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVТут на днях пришлось занятся PostgreSQL немного. Для интереса протестил. Запрос
Код: plaintext
update table2 set i = i +  1 ; 
Postgre
Код: plaintext
1000000 rows affected, 19016 ms execution time.

firebird
Код: plaintext
Execute       : 12 860,00 ms

Запрос
Код: plaintext
1.
 select count(*) from table2 t
inner join table2 t1 on t.i = t1.i 
Postgre
Код: plaintext
2875 ms.

firebird
Код: plaintext
2 719,00 ms

MSSQL тут конечно опережает всех, поэтому его результаты приводить здесь нет смысла
Всегда оху..вал с таких тестирований.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36180428
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ApexВсегда оху..вал с таких тестирований.
а какие надо? большое складывается из малого :-)
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36183164
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Раз уж тема жива:

Senya_LFreemanZAVЗайцев Фёдор
Можно ссылку?
А нафига? Это просто внешнее объединение - left join myproc...JOIN и APPLY - не одно и то же. Аналогов, я так понимаю, нет. Простой пример из последнего "творчества"
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
	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'ом не сделаешь. :(

Именно такое сделаешь :)
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36183194
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAV,

авторИменно такое сделаешь :)

Покажите, пожалуйста, как "такое" можно сделать "обычным" джоином?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36183204
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
SELECT 
    *
  FROM tmpPerson
    INNER JOIN Persons ON Persons.idPerson = tmpPerson.ID
    INNER JOIN  tmpSMO ON tmpSMO.RDB$DB_KEY =
    (SELECT FIRST  1  tmpSMO1.RDB$DB_KEY FROM tmpSMO tmpSMO1  WHERE tmpSMO1.[code] = [tmpPerson].[GIVING_INS] )
    /*ну и так далее*/
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36183251
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAV,

Вот это вот подзапрос

автор(SELECT FIRST 1 tmpSMO1.RDB$DB_KEY FROM tmpSMO tmpSMO1 WHERE tmpSMO1.[code] = [tmpPerson].[GIVING_INS] )

Нормально отработает во FROM, учитывая, что [GIVING_INS] из "внешнего" запроса?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36183253
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinFreemanZAV,

Вот это вот подзапрос

автор(SELECT FIRST 1 tmpSMO1.RDB$DB_KEY FROM tmpSMO tmpSMO1 WHERE tmpSMO1.[code] = [tmpPerson].[GIVING_INS] )

Нормально отработает во FROM, учитывая, что [GIVING_INS] из "внешнего" запроса?
Как песня
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36183259
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что, стандарт запрещает использовать коррелированный подзапрос в условии ON?
P.S. скобки [] нужно убрать конечно
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36342131
tip78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chys- SQLite сам про себя говорит, что непригоден для клиент/сервер архитектуры;

зато надёжен и быстр на самом сервере
а в качестве клиент/сервер архитектуры можно фронт-энд напрограммить
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36352061
Roman Yaroshenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как-то раз запустил холостой update на MSSQL типа:
Код: plaintext
update table1 set id = id
где table1 - это таблица-справочник около 5к записей, на таблице висел триггер, задачей которого был пересчет некоторый полей этой-же таблицы. В БД (размер около 100Гб) было около 10-ти подключений.
В результате запрос завис, пользователи тоже "отдыхали", админ БД все это усек и срубил запрос и попросил больше так не делать :) Недостатки блокировочника, млин ...

В FB это все прошло-бы мгновенно и незаметно для пользователей, ибо версионник.

П.С. Жесткая привязка MSSQL к одной ОС несколько пугает ...
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36353511
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman YaroshenkoВ результате запрос завис, пользователи тоже "отдыхали", админ БД все это усек и срубил запрос и попросил больше так не делать :) Недостатки блокировочника, млин ...

В FB это все прошло-бы мгновенно и незаметно для пользователей, ибо версионник.


Мдя... Уже 5 лет, как MS SQL по желанию или блокировочник, или версионник или даже местами блокировочник и местами версионник.

Roman YaroshenkoП.С. Жесткая привязка MSSQL к одной ОС несколько пугает ...

Гы... Кого и чем?!
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36353532
Фотография Infernal V. Raven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Yaroshenko,

кривые руки бывают у программистов оракла, мс скл, фб, кривизна которых не зависит от СУБД.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36355140
Roman Yaroshenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Infernal V. Raven
кривые руки бывают у программистов оракла, мс скл, фб, кривизна которых не зависит от СУБД.

Какие еще у вас имеются аргументы?

Никто не спорит, что каждая СУБД имеет свои ньансы использования, но такие элементарные вещи как холостой update должны отрабатывать на любой СУБД без проблем. У MSSQL с этим проблемы ...
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36355147
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Yaroshenko
Никто не спорит, что каждая СУБД имеет свои ньансы использования, но такие элементарные вещи как холостой update должны отрабатывать на любой СУБД без проблем. У MSSQL с этим проблемы ... У MSSQL, нет проблем с update. Это у вас проблемы с триггером, вероятная причина - кривые руки.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36355178
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зайцев ФёдорУ MSSQL, нет проблем с update.

Хотите сказать, что холостой update на миллионной табличке не забьёт
tempdb под завязку табличками deleted-inserted?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36355192
Roman Yaroshenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зайцев ФёдорRoman Yaroshenko
Никто не спорит, что каждая СУБД имеет свои ньансы использования, но такие элементарные вещи как холостой update должны отрабатывать на любой СУБД без проблем. У MSSQL с этим проблемы ... У MSSQL, нет проблем с update. Это у вас проблемы с триггером, вероятная причина - кривые руки.

Еще один специалист по кривизне рук ...

Правильно, :) проблемы с триггером в MSSQL, для отработки которого нужно сначала затратить время на создание временной таблицы "updated" + предварительно заблокировать всю изменяемую таблицу.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36355196
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Зайцев ФёдорУ MSSQL, нет проблем с update.

Хотите сказать, что холостой update на миллионной табличке не забьёт
tempdb под завязку табличками deleted-inserted?

обратное утверждение просто нелепо, правда.

З.Ы.
надеюсь, семейство не пополнится трассирующими, зажигательными, бронебойными и разрывными update-ми..
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36355220
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Yaroshenko
Правильно, :) проблемы с триггером в MSSQL, для отработки которого нужно сначала затратить время на создание временной таблицы "updated" + предварительно заблокировать всю изменяемую таблицу. В данном случае :
1) затраты на создание inserted и deleted ничтожны.
2) вы добровольно и сознательно выполняете все действия в триггере. не взирая на то, что "изменилось" только одно поле, действительных изменений нет, расчёты судя по всему не требуются

этот парашют вы укладывали сами, счастливого полёта.

у блокировочника есть свои проблемы, этот случай имеет совсем другую природу
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36355241
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Хотите сказать, что холостой update на миллионной табличке не забьёт
tempdb под завязку табличками deleted-inserted?

Именно в данном случае не забъёт

Зайцев Фёдоррасчёты судя по всему не требуются
Тут трудно возразить

Зайцев Фёдору блокировочника есть свои проблемы, этот случай имеет совсем другую природу
Тут я тоже соглашусь. MSSQL апдейты выполняет шустрее, и триггеры на обновлении больших объёмах данных в одном стэйтменте тоже должны работать быстрее. Вот ежели множество мелких модификаций, тут ситуация может быть иная.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36355250
Roman Yaroshenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зайцев Фёдор
2) вы добровольно и сознательно выполняете все действия в триггере. не взирая на то, что "изменилось" только одно поле, действительных изменений нет, расчёты судя по всему не требуются

Вот как раз и нужно было пересчитать значения некоторых полей таблицы, из-за изменения алгоритма работы триггера. Самый быстрый способ - это запустить update всей таблицы по полю первичного ключа без изменения самого ключа для принудительного выполнения триггера.

Примером может быть изменение алгоритма расчета контрольной суммы по строке.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36355254
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Зайцев ФёдорУ MSSQL, нет проблем с update.

Хотите сказать, что холостой update на миллионной табличке не забьёт
tempdb под завязку табличками deleted-inserted?


Т.е. проблемма тока в месте в tempdb?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36355321
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinDimitry Sibiryakov
Зайцев ФёдорУ MSSQL, нет проблем с update.

Хотите сказать, что холостой update на миллионной табличке не забьёт
tempdb под завязку табличками deleted-inserted?


Т.е. проблемма тока в месте в tempdb?Нет, в "прожорливости" сервера.
И не только tempdb, но и файлы логов пухнут неплохо.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36355336
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senya_LpkarklinТ.е. проблемма тока в месте в tempdb?Нет, в "прожорливости" сервера.
И не только tempdb, но и файлы логов пухнут неплохо.

Ну, дык, "искуство требует жертв". И залоггировать все надо, чтоб откатить в случае чего, и RVS заполнить, дабы не мешать читателям и inserted с deleted кормить. ;)
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36355474
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman YaroshenkoЗайцев Фёдор
2) вы добровольно и сознательно выполняете все действия в триггере. не взирая на то, что "изменилось" только одно поле, действительных изменений нет, расчёты судя по всему не требуются

Вот как раз и нужно было пересчитать значения некоторых полей таблицы, из-за изменения алгоритма работы триггера. Самый быстрый способ - это запустить update всей таблицы по полю первичного ключа без изменения самого ключа для принудительного выполнения триггера.

Примером может быть изменение алгоритма расчета контрольной суммы по строке.
Вы уж определитесь - либо холостой апдейт , либо идёт пересчет полей таблицы.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36355555
Roman Yaroshenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSuperВы уж определитесь - либо холостой апдейт , либо идёт пересчет полей таблицы.

Нет уж - это вы определитесь, что для вас холостой update. Он делается только лишь с одной целью - выполнить триггер.

П.С. Как все-таки любители MSSQL пытаются спрыгнуть с темы ...
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36355562
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Yaroshenko
Нет уж - это вы определитесь, что для вас холостой update. Он делается только лишь с одной целью - выполнить триггер.

П.С. Как все-таки любители MSSQL пытаются спрыгнуть с темы ...
Просто выполнить триггер - довольно странная цель.
Судя по всему, вы решили продемонстрировать свою способность выстрелить себе в ногу.
Это лишнее, достаточно яда и стены.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36355569
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman YaroshenkoSergSuperВы уж определитесь - либо холостой апдейт , либо идёт пересчет полей таблицы.

Нет уж - это вы определитесь, что для вас холостой update. Он делается только лишь с одной целью - выполнить триггер.

П.С. Как все-таки любители MSSQL пытаются спрыгнуть с темы ...

Если не сложно - выложите тынц на сайт с вашей терминологией, дабы мы взяли себе за труд ознакомится с ней и изучить.
А то, понимаешь, всё как-то с темы спрыгиваем, не понимаем о чем человек говорит....

зы а почему "холостой" а не "неженатый"?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36355571
Roman Yaroshenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зайцев ФёдорПросто выполнить триггер - довольно странная цель.
М-да. Тут действительно лучше выпить йаду и апстену. :) Если вы не использовали сего в своей практике, то и не пытайтесь - MSSQL этого не любит, а вы, сюдя по активности в форумах, его ярый приверженец.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36355572
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman YaroshenkoЗайцев ФёдорПросто выполнить триггер - довольно странная цель.
М-да. Тут действительно лучше выпить йаду и апстену. :) Если вы не использовали сего в своей практике, то и не пытайтесь - MSSQL этого не любит, а вы, сюдя по активности в форумах, его ярый приверженец.
Я лично в своей практике триггера вообще не использую, чего и вам желаю
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36355573
Roman Yaroshenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyзы а почему "холостой" а не "неженатый"?
Уважаемый модератор форума "Просто треп" не ошиблись ли вы форумом с такими вопросами?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36355577
Roman Yaroshenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyЯ лично в своей практике триггера вообще не использую, чего и вам желаю
Это совсем другой разговор. :)
Есть и такая точка зрения, - без возражений, но все зависит от конкретной задачи.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36355578
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Yaroshenkolockyзы а почему "холостой" а не "неженатый"?
Уважаемый модератор форума "Просто треп" не ошиблись ли вы форумом с такими вопросами?
не думаю
Просто хочу уточнить Вашу терминологию - мало ли что вы под тем или иным словом подразумеваете?
А незнание чьей-то частной терминологии зачастую ведёт к взаимному непониманию и прочим проблемам, не так ли?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36355579
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman YaroshenkolockyЯ лично в своей практике триггера вообще не использую, чего и вам желаю
Это совсем другой разговор. :)
Есть и такая точка зрения, - без возражений, но все зависит от конкретной задачи.
Скажем дипломатично.
Требуются крайне веские основания для использования триггеров.
Если таковых оснований нет - триггеров быть не должно.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36355589
Roman Yaroshenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyПросто хочу уточнить Вашу терминологию - мало ли что вы под тем или иным словом подразумеваете?
А незнание чьей-то частной терминологии зачастую ведёт к взаимному непониманию и прочим проблемам, не так ли?
Ок, попытаюсь объяснить, что я под этим понимаю:
Холостой апдейт - эта такая форма запроса "update" при которой в секции "set" нет явного задания новых значений полей, т.е. изменение происходит как-бы вхолостую. Естественно применение этой конструкции бессмысленно без триггеров на таблице. В триггерах вся необходимая логика поведения и закладывается.
Сам применяю крайне редко, только после изменения метаданных если нужно пересчитать служебные поля.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36355590
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Yaroshenko,

принято
что же касается исходной ситуации (хотя, разумеется, это совершенно не моё дело), то запрос обновления на 5к строк, выполнение которого заставляет встрепенутся админа - выглядит весьма подозрительно. Я бы посоветовал попристальнее присмотрется к триггеру и к методикам пересчета выполняемых в нем.

зы да и диапазонное обновление пока никто не отменял.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36355591
Roman Yaroshenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyТребуются крайне веские основания для использования триггеров.
Если таковых оснований нет - триггеров быть не должно.
Само собой разумеется. :) Триггера усложняют логику активной части БД, поэтому ихнее применение должно быть аккуратным.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36355592
Roman Yaroshenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyчто же касается исходной ситуации (хотя, разумеется, это совершенно не моё дело), то запрос обновления на 5к строк, выполнение которого заставляет встрепенутся админа - выглядит весьма подозрительно. Я бы посоветовал попристальнее присмотрется к триггеру и к методикам пересчета выполняемых в нем.

зы да и диапазонное обновление пока никто не отменял.
Диапазонное обновление, впоследствии, и было сделано. :)
Почему оно тормозило в первоначальном варианте разбираться не стал, ибо операция была разовая и срочная.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36355767
Фотография Infernal V. Raven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to Roman Yaroshenko
lockyRoman YaroshenkolockyЯ лично в своей практике триггера вообще не использую, чего и вам желаю
Это совсем другой разговор. :)
Есть и такая точка зрения, - без возражений, но все зависит от конкретной задачи.
Скажем дипломатично.
Требуются крайне веские основания для использования триггеров.
Если таковых оснований нет - триггеров быть не должно.
Тем более если надо просто выполнить триггер, не изменяя данных в таблице.
Что это за задачи такие?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36356707
Фотография Megabyte
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman YaroshenkoЗайцев ФёдорПросто выполнить триггер - довольно странная цель.
М-да. Тут действительно лучше выпить йаду и апстену. :) Если вы не использовали сего в своей практике, то и не пытайтесь - MSSQL этого не любит, а вы, сюдя по активности в форумах, его ярый приверженец.
Вопрос: зачем в данном случае запускать апдейт, чтобы запустить триггер? Нельзя всё сделать в хранимке?
Триггера нужны вроде как, когда действия необходимо сделать при ИЗМЕНЕНИИ данных, у вас же данные не меняются...
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36356951
Roman Yaroshenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MegabyteВопрос: зачем в данном случае запускать апдейт, чтобы запустить триггер? Нельзя всё сделать в хранимке?
Триггера нужны вроде как, когда действия необходимо сделать при ИЗМЕНЕНИИ данных, у вас же данные не меняются...
Можно было сделать и хранимкой, но ее для этого нужно было создать.
Операция была разовой связанная с изменением тела триггера пересчитывающего служебные поля.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36357137
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinSenya_LpkarklinТ.е. проблемма тока в месте в tempdb?Нет, в "прожорливости" сервера.
И не только tempdb, но и файлы логов пухнут неплохо.

Ну, дык, "искуство требует жертв". И залоггировать все надо, чтоб откатить в случае чего, и RVS заполнить, дабы не мешать читателям и inserted с deleted кормить. ;)Да это я так, ворчу.
Зачем на блокировочнике использовать прием, более характерный для версионников - я и сам не понял. Транзакции с TIL = REPEATABLE READ обычно хватает более чем. Ну или SERIALIZABLE, если очень уж надо монопольно над всей таблицей поиздеваться. :)
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36357263
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senya_LЗачем на блокировочнике использовать прием, более характерный для версионников - я и сам не понял.

В момем понимании... До 2005 таблицы inserted и deleted строились из лога. При появлении RVS в 2005 и возможности работы как в режиме версионности, так и в режиме блокировочника было принято решение получать данные из "одного места", а именно из RVS.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36357324
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
из лога мего геморно, нужно пол лога ненужного считать пока не наткнешся на начало своей транзакции, MVS оно быстрее достать готовое. только не совсем понял откуда оно возьмется в MVS если версионность не включена ? или 2005 плодит какие-то версии независимо от allow_isolation_snapshot ?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36357701
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!только не совсем понял откуда оно возьмется в MVS если версионность не включена ? или 2005 плодит какие-то версии независимо от allow_isolation_snapshot ?

Угу:

Version Stores
A version store is a collection of data pages that hold the data rows that are required to support the features that use row versioning. There are two version stores: a common version store and an online-index-build version store. The version stores contain the following:

Row versions that are generated by data modification transactions in a database that uses snapshot or read committed using row versioning isolation levels.


Row versions that are generated by data modification transactions for features such as: online index operations, Multiple Active Result Sets (MARS), and AFTER triggers.

Отсюда: Capacity Planning for tempdb
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36357810
Фотография arni
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyСкажем дипломатично.
Требуются крайне веские основания для использования триггеров.
Если таковых оснований нет - триггеров быть не должно.Триггеры настолько обыденные и употребительные объекты в современных СУБД, что их количество в среднестатистической базе обычно с запасом превосходит количество таблиц и вьюшек - собственно базовых объектов. И не требуется никаких особых проектных условий для их использования - это просто современный стиль проектирования БД.
Нет, конечно не все СУБД одинаково хорошо поддерживают некоторые объекты. К примеру, родной для меня Firebird до самых последних версий весьма посредственно осуществлял поддержку view: трудности с alter при наличии зависимостей, невозможность использования совместно с ХП и др. Многие просто старались не использовать их без особой надобности. Если в родном для вас MsSQL таже история с триггерами - то это частный случай, но безапеляционно обсуждать, что это чуть ли не дурнопахнущий подход - совершенно игнорировать реалии нашей профессии.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36357813
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
arni,
реалии нашей профессии таковы что нужно стараться обходится простыми средствами и не усложнять систему сверх необходимого.
Что можно сделать в триггере такого, чего нельзя сделать в ХП?
Ах, провести некоторые изменения независимо от того, кто запрос запостил?
Ах, у вас неограниченное число точек изменения таблицы? Ну кто ж вам доктор то....

триггера - зло. Иногда - необходимое, но зло - однозначно.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36357820
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
arniно безапеляционно обсуждать, что ...
Триггеры настолько обыденные и употребительные объекты в современных СУБД, что их количество в среднестатистической базе обычно с запасом превосходит количество таблиц и вьюшек - собственно базовых объектов. И не требуется никаких особых проектных условий для их использования - это просто современный стиль проектирования БД.

Не стоит, на мой взгляд, обвинять других в безапеляционности, делая не менее безапеляционные заключения.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36357824
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyтриггера - зло. Иногда - необходимое, но зло - однозначно.

+ 1024.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36357825
Фотография arni
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
locky,

если триггер и хранимка для вас - это лишь альтернативные способы сделать одно и тоже, то от обсуждения предмета я пожалуй воздержусь, ибо наши позиции на проектирования с неизбежностью расходятся столь значительно, что никто ничего никому не докажет.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36357828
Фотография arni
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinlockyтриггера - зло. Иногда - необходимое, но зло - однозначно.

+ 1024.Надо будет спросить Senya_L (завсегдатый как в вашей ветке, так и в Firebird), чем так плоха реализация триггеров в mssql
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36357848
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
arniНадо будет спросить Senya_L (завсегдатый как в вашей ветке, так и в Firebird), чем так плоха реализация триггеров в mssql

Дело не в плохости\хорошести реализации триггеров в той или иной СУБД. Дело в разделении DAL (Data Access Layer) и DSL (Data Store Layer) в клиент\серверной СУБД.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36357850
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мда. какая дерьмовая архитектура должна быть в реализации триггеров, чтобы так их не любить, и проецировать эту нелюбовь на триггеры в любой СУБД?
Впрочем, пустопорожний спор. Если триггеры в MS SQL использовать не советуют - не будем, ни триггеры в MSSQL, ни сам MS SQL.

p.s. to arni - вспомнилось, какая буча была на rsdn по поводу недоумения пользователей MS SQL, зачем в одном коннекте нужно больше одной транзакции. По-моему речи про триггеры из той же оперы. Это всего-лишь показывает, что у каждой СУБД есть своя специфика, к которой быстро привыкают, и начинают считать ее естественной и для остальных СУБД, что абсолютно неверно.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36357870
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvмда. какая дерьмовая архитектура должна быть в реализации триггеров, чтобы так их не любить, и проецировать эту нелюбовь на триггеры в любой СУБД?
Впрочем, пустопорожний спор. Если триггеры в MS SQL использовать не советуют - не будем, ни триггеры в MSSQL, ни сам MS SQL.
Вы не поняли, речь шла про триггеры безотносительно СУБД
хотя я лично с такой безапелляционностью не согласен, но у каждого свой опыт и свой мнение
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36357878
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvмда. какая дерьмовая архитектура должна быть в реализации триггеров, чтобы так их не любить, и проецировать эту нелюбовь на триггеры в любой СУБД?
Впрочем, пустопорожний спор. Если триггеры в MS SQL использовать не советуют - не будем, ни триггеры в MSSQL, ни сам MS SQL.

Независимо от того, насколько хорошо реализовано зло в той или иной СУБД - зла следует избегать :)

Как по мне, так назначение триггеров - это попытатся сохранить непротиворечивость данных в слабоуроавляемой и размытой системе, в которой изменения данных происходят откуда угодно и как угодно.
Лично я предпочитаю строго контролировать точки изменения данных, и, как следствие - мне триггера не нужны.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36357893
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSuperВы не поняли, речь шла про триггеры безотносительно СУБД
С этой же точки зрения блокировочники зло, dirty read зло, версии зло, да и процедуры - еще большее зло. Про null я вообще молчу.

lockyНезависимо от того, насколько хорошо реализовано зло в той или иной СУБД - зла следует избегать :)
Вообще существует две крайности - когда всю бизнес-логику по максимуму переносят на сервер, и когда никакой бизнес-логики (и даже FK, а может и ПК) на сервере нет.

Истина, как обычно, где-то посередине.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36357900
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ООП - тоже зло. изменишь объякту свойство, а он, гад такой, что-то непонятное там делает при этом... всякую фигню про нас думает, не иначе
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36357916
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
Вообще существует две крайности - когда всю бизнес-логику по максимуму переносят на сервер, и когда никакой бизнес-логики (и даже FK, а может и ПК) на сервере нет.

Истина, как обычно, где-то посередине.
вся бизнес-логика на сервере - это не крайность, это удача
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36357981
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSuperkdv
Вообще существует две крайности - когда всю бизнес-логику по максимуму переносят на сервер, и когда никакой бизнес-логики (и даже FK, а может и ПК) на сервере нет.

Истина, как обычно, где-то посередине.
вся бизнес-логика на сервере - это не крайность, это удачаВот Вы и впали в крайностьи
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36358054
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда СКЛ код красиво и равномерно (или некрасиво и неравномерно) размазан между клиентом и сервером - моя рука невольно тянется к пистолету (С)

-------------------------
There’s no silver bullet!
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36358168
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSuper Вы не поняли, речь шла про триггеры безотносительно СУБД
Последнее время я думаю, что вообще СУБД, и всё прикладное к ним ПО - зло. Какую фирму ни возьми, везде автоматизация учёта приводит к увеличению штата. Где раньше баба Маня одна справлялась с учётом на счётах и с амбарной книгой, сейчас еле справляются куча бухгалтеров, работающих в наисовременнейших системах управления
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36358247
Sergey Orlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVSergSuper Вы не поняли, речь шла про триггеры безотносительно СУБД
Последнее время я думаю, что вообще СУБД, и всё прикладное к ним ПО - зло. Какую фирму ни возьми, везде автоматизация учёта приводит к увеличению штата. Где раньше баба Маня одна справлялась с учётом на счётах и с амбарной книгой, сейчас еле справляются куча бухгалтеров, работающих в наисовременнейших системах управления
Да наверное нет, просто на момент бабы Мани сама информация имела более чем меньший обьем и параметры.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36358278
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey Orlov
Да наверное нет, просто на момент бабы Мани сама информация имела более чем меньший обьем и параметры.
Вот так и бухгалтеры говорят.
Но даже если бы после автоматизации количество человек выросло прямо пропорционально обьему информации, то эта автоматизация бессмысленна. А соотношение зачастую гораздо хуже.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36358855
Фотография Megabyte
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
locky Лично я предпочитаю строго контролировать точки изменения данных...
А если у вас нет такой возможности, контролировать ВСЕ точки? Триггер имхо сделан строго для определенного круга задач. Понятно, что не надо перебарщивать с его логикой, т.к. получается путаница.
Как кто-то сказал: истина посередине.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36358959
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVSergSuper Вы не поняли, речь шла про триггеры безотносительно СУБД
Последнее время я думаю, что вообще СУБД, и всё прикладное к ним ПО - зло. Какую фирму ни возьми, везде автоматизация учёта приводит к увеличению штата. Где раньше баба Маня одна справлялась с учётом на счётах и с амбарной книгой, сейчас еле справляются куча бухгалтеров, работающих в наисовременнейших системах управления
Ерунда. Однозначно, при хорошей автоматизации и правильном управлении либо сокращаются количество людей, либо тот же состав обрабатывает гораздо большие объемы информации.

Рост же персонала связан не с автоматизаций как таковой, а вызван общими законами развития бюрократии. См. законы Паркинсона. ;).
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36358965
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
посмотрел вот тут, стало понятно, почему люди так не любят триггеры в MS SQL
http://www.intuit.ru/department/database/sql/14/2.html

реальный геморрой.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36359009
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvпосмотрел вот тут, стало понятно, почему люди так не любят триггеры в MS SQL
http://www.intuit.ru/department/database/sql/14/2.html

реальный геморрой.и в чём _здесь_ геморрой?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36359097
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvпосмотрел вот тут, стало понятно, почему люди так не любят триггеры в MS SQL
http://www.intuit.ru/department/database/sql/14/2.html

реальный геморрой.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
--если запись о товаре уже была в таблице 
--Склад, то определяется код и количество 
--товара из добавленной в таблицу Сделка записи
  BEGIN
    SELECT @y=i.КодТовара, @x=i.Количество
    FROM Сделка С, inserted i
    WHERE С.КодТовара=i.КодТовара
--и производится изменения количества товара в
--таблице Склад
         UPDATE Склад
         SET Остаток=остаток+@x
         WHERE КодТовара=@y
    END
Есть некоторые сомнения в квалификации автора статьи
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36359109
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorychkdvпосмотрел вот тут, стало понятно, почему люди так не любят триггеры в MS SQL
http://www.intuit.ru/department/database/sql/14/2.html

реальный геморрой.и в чём _здесь_ геморрой?
ну вобще-то _здесь_ есть
но он не от микрософта, а от автора
например Пример 14.4. (Создать триггер для обработки операции изменения записи в таблице) можно было бы сделать как-то так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
CREATE TRIGGER Триггер_upd
ON Сделка FOR UPDATE
AS
UPDATE S 
      SET Остаток=Остаток+x
      from Склад S, (select КодТовара cod,sum(Количество) x from inserted group by КодТовара) z
      WHERE S.КодТовара=z.cod
UPDATE S 
      SET Остаток=Остаток-x
      from Склад S, (select КодТовара cod,sum(Количество) x from deleted group by КодТовара ) z
      WHERE S.КодТовара=z.cod
(можно и одним апдейтом но не так наглядно будет)

вобще меня удивляют люди, которые по первой попавшейся статье делают глубокие выводы
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36359230
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemana

Рост же персонала связан не с автоматизаций как таковой, а вызван общими законами развития бюрократии. См. законы Паркинсона. ;).
Значит автоматизация способствует развитию бюрократии.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36359240
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVЗначит автоматизация способствует развитию бюрократии.
Автоматизация способствует развитию. Остальное зависит от объекта автоматизации )
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36359317
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvпосмотрел вот тут, стало понятно, почему люди так не любят триггеры в MS SQL
http://www.intuit.ru/department/database/sql/14/2.html

реальный геморрой.

Поляковой Ларисе Николаевне самой бы курсы послушать...
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36359338
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зайцев ФёдорFreemanZAVЗначит автоматизация способствует развитию бюрократии.
Автоматизация способствует развитию. Остальное зависит от объекта автоматизации )
И один из примеров автоматизации - триггеры в MSSQL. Их реализация такова, что у многих, которые с ними соприкоснулись, даже термин "триггер" вызывает панический страх.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36359372
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVЗайцев ФёдорFreemanZAVЗначит автоматизация способствует развитию бюрократии.
Автоматизация способствует развитию. Остальное зависит от объекта автоматизации )
И один из примеров автоматизации - триггеры в MSSQL. Их реализация такова, что у многих, которые с ними соприкоснулись, даже термин "триггер" вызывает панический страх.Уважаемый, Вы бы написали какова же эта реализация, что Вас в страх вгоняет
или Вы просто пофлудить изволили?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36359411
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVИ один из примеров автоматизации - триггеры в MSSQL. Их реализация такова...

Какова?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36359415
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSuperFreemanZAVЗайцев ФёдорFreemanZAVЗначит автоматизация способствует развитию бюрократии.
Автоматизация способствует развитию. Остальное зависит от объекта автоматизации )
И один из примеров автоматизации - триггеры в MSSQL. Их реализация такова, что у многих, которые с ними соприкоснулись, даже термин "триггер" вызывает панический страх.Уважаемый, Вы бы написали какова же эта реализация, что Вас в страх вгоняет
или Вы просто пофлудить изволили?
А кто сказал, что меня? Не я говорил, что триггеры зло
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36359417
Фотография arni
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSuperУважаемый, Вы бы написали какова же эта реализация, что Вас в страх вгоняет
или Вы просто пофлудить изволили?Просто все три участника, явным образом пославших триггеры в немилость, в своем профиле однозначно детектируются как mssql'щики. Ни одного оракловода, ни одного птичника, ни одного любителя прочего сервера. Факт сей наталкивает на грусную мысль, хоть пока и не аргументируемую.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36359419
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinFreemanZAVИ один из примеров автоматизации - триггеры в MSSQL. Их реализация такова...

Какова?
FreemanZAVтакова, что у многих, которые с ними соприкоснулись, даже термин "триггер" вызывает панический страх.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36359438
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVpkarklinFreemanZAVИ один из примеров автоматизации - триггеры в MSSQL. Их реализация такова...

Какова?
FreemanZAVтакова, что у многих, которые с ними соприкоснулись, даже термин "триггер" вызывает панический страх.
а в Firebird реализация триггеров такова, термин "триггер" вызывает панический страх у многих, кто даже не сталкивался с ними
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36359439
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зайцев ФёдорFreemanZAVpkarklinFreemanZAVИ один из примеров автоматизации - триггеры в MSSQL. Их реализация такова...

Какова?
FreemanZAVтакова, что у многих, которые с ними соприкоснулись, даже термин "триггер" вызывает панический страх.
а в Firebird реализация триггеров такова, термин "триггер" вызывает панический страх у многих, кто даже не сталкивался с ними
Например?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36359445
Фотография arni
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зайцев Фёдора в Firebird реализация триггеров такова, термин "триггер" вызывает панический страх у многих, кто даже не сталкивался с нимипорой лучше жевать...
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36359452
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
arniЗайцев Фёдора в Firebird реализация триггеров такова, термин "триггер" вызывает панический страх у многих, кто даже не сталкивался с нимипорой лучше жевать...
Да человека можно понять. По незнанию некоторые полагают, что когда гром гремит, это Илья-пророк в колеснице по небу разъезжает. (с)
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36359454
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAV
Например?
Ну например у многих, кто даже не сталкивался с реализацией триггеров в Firebird, термин "триггер" вызывает панический страх.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36359455
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зайцев ФёдорFreemanZAV
Например?
Ну например у многих, кто даже не сталкивался с реализацией триггеров в Firebird, термин "триггер" вызывает панический страх.
Это по простоте
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36359462
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVЭто по простотеНет, это всё от автоматизации
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36359471
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зайцев ФёдорFreemanZAV
Например?
Ну например у многих, кто даже не сталкивался с реализацией триггеров в Firebird, термин "триггер" вызывает панический страх.
А причина страха очевидна. До этого они столкнулись с реализацией оных в MSSQL
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36359493
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVSergSuperFreemanZAVЗайцев ФёдорFreemanZAVЗначит автоматизация способствует развитию бюрократии.
Автоматизация способствует развитию. Остальное зависит от объекта автоматизации )
И один из примеров автоматизации - триггеры в MSSQL. Их реализация такова, что у многих, которые с ними соприкоснулись, даже термин "триггер" вызывает панический страх.Уважаемый, Вы бы написали какова же эта реализация, что Вас в страх вгоняет
или Вы просто пофлудить изволили?
А кто сказал, что меня? Не я говорил, что триггеры злоясно, добавил Вас в список
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36359497
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSuperясно, добавил Вас в список
В чёрную книжечку?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36359666
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAV
А причина страха очевидна. До этого они столкнулись с реализацией оных в MSSQL
забавно.
я "сталкиваюсь" с реализацией курсоров в оракле (а они там неплохо реализованы).
Но по прежнему считаю что чем совать курсоры куда ни попадя (зачастую от ненадлежащего знания матчасти) - есть зло.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36359675
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
arniSergSuperУважаемый, Вы бы написали какова же эта реализация, что Вас в страх вгоняет
или Вы просто пофлудить изволили?Просто все три участника, явным образом пославших триггеры в немилость, в своем профиле однозначно детектируются как mssql'щики. Ни одного оракловода, ни одного птичника, ни одного любителя прочего сервера. Факт сей наталкивает на грусную мысль, хоть пока и не аргументируемую.
Не знаю как у третьего, а у первого и второго понятия о том, как следует реализовывать управляемые и сопровождаемые системы - довольно близки, и как следствие - практически одинаковое отношение к триггерам. Независимо от применяемой СУБД.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36359767
Фотография arni
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyНе знаю как у третьего, а у первого и второго понятия о том, как следует реализовывать управляемые и сопровождаемые системы - довольно близки, и как следствие - практически одинаковое отношение к триггерам. Независимо от применяемой СУБД.Я бы рассмотрел ваше мнение более предметно, если бы у вас был опыт работы с другими СУБД. Возможно он даже есть - не спорю, но по участию в ветках других СУБД это не прослеживается - поэтому ваше мнение слишком субъективно.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36359785
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
arni,

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

Что же касается "субъективного мнения" - ну, не знаю.
Если я вижу, что некоторая возможность и потенциально, и фактически вызывает проблемы при эксплуатации системы - я не имею возможности относится к этой фиче хорошо.

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

Триггера подпадают под п.п. 1 и 2. так шта - триггера зло. Иногда (краааайне редко) необходимое, но зло.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36359792
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
arni,
так расскажите нам скорее чем триггеры в Огнептице выгодно отличаются от мелкомягких? Пока похоже, что вы увидели синтаксис T-SQL и впали в ступор. locky говорит ведь совсем о другом аспекте: об использовании триггеров, а не о написании триггеров, как таковом.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36359796
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorych,

ну, триггера в скуле, мягко говоря, проигрывают оракловым (а в одном месте - даже сайбейзовским) и подходят строго под один определённый стиль построения систем (который я крайне не люблю) - в этом как бы кроется часть причиные моей нелюбви к триггерам.
Но, тем не менее.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36359801
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я в PostgreSQL не использую триггеры без веских на то оснований.
Основанием может быть сложная проверка данных перед вставкой/обновлением,
реализовать которую нельзя другими средствами. Таких мест в нашей базе 2.
Больше они нигде не используются по следующим причинам:
1)Отключение триггеров в транзакции блокирует таблицу целиком.
Если вместо есть транзакция, в которой вместо триггера должен выполнятся другой код,
то головная боль обеспечена.
2)Сейчас системы большие. Даже в нашей небольшой системе таблиц около 200.
Триггера в этой ситуации сильно увеличивают связность системы, добавляя туда
зависимости, которые бывает очень сложно отслеживать. Сопровождение такой системы
будет сущим мучением.
3)Триггеры замедляют массовую вставку, вынуждая зачастую их отключать, что
сопровождается пунктом 1
Этих причин мне более чем достаточно.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36359848
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКТОГЕН
Больше они нигде не используются по следующим причинам:

1) БД спроектирована человеком, который об этой работе читал только комиксы
2) Вдобавок он страдает склерозом и не пишет даже минимальные комментарии
3) Его возбуждает часто вставлять данные и тут же их удалять
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36359884
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
1) БД спроектирована человеком, который об этой работе читал только комиксы

О, Мудрейший из мудрейших! Молю Вас ткнуть меня, убогого склеротика, в Нужный Мануал
о том, как реализовывать в Postgresql логику. Особенно, с массовым использованием триггеров.
Dimitry Sibiryakov
2) Вдобавок он страдает склерозом и не пишет даже минимальные комментарии

Страдаю, да ещё как. Именно поэтому подетально описываю все объекты в базе, которые
создаются.
Ежли у Вас есть (или Вы знакомы с таковыми) труды о том, как не допустить выхода
системы из-под контроля, был бы очень признателен за ссылку литературу.
Dimitry Sibiryakov
3) Его возбуждает часто вставлять данные и тут же их удалять

И такой грех есть.
Так, что я тут со всех сторон неправ, а Вы со всех сторон правы.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36359903
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКТОГЕН
Молю Вас ткнуть меня, убогого склеротика, в Нужный Мануал
о том, как реализовывать в Postgresql логику. Особенно, с массовым
использованием триггеров.

Если в Language Reference Вы нащли только ALTER TRIGGER INACTIVE, а до
CURRENT_USER, который обычно и используют для обхода триггерной логики
не докопались, то тут уже поможет только хирургия.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36359904
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

завязывать в коде на конкретного юзера - за это нужно стрелять не раздумывая
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36359924
Фотография arni
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorychтак расскажите нам скорее чем триггеры в Огнептице выгодно отличаются от мелкомягких? Пока похоже, что вы увидели синтаксис T-SQL и впали в ступор. locky говорит ведь совсем о другом аспекте: об использовании триггеров, а не о написании триггеров, как таковом.Не имею возможности сравнить, т.к. знаю предмет только со своей стороны баррикады, а фантазировать по стопам беглого знакомства с синтаксисом - увы не серьездно.
В IB/FB триггеры не вызывают каких-либо неудобств, или во всяком случае эти проблемы не на слуху в нашем разделе. Слова Фёдора "кто даже не сталкивался с реализацией триггеров в Firebird триггеров в Firebird, термин "триггер" вызывает панический страх" могу рассматривать либо как бред, либо (надеюсь) как неудачное ребячество-передразнивание.
Еще раз:
- триггеры должны использоваться по назначению;
- никакой альтернативой хранимкам они не являются (в них обнаруживается сходство языка, но не решаемые задачи);
- реализация триггеров применительно к IB/FB никаких неудобств разработчику не доставляет, а мой кране малый опыт работы с Ораклом также не шепчет о каких-то подводных камнях.

Могу я услышать ссылки на авторитетных авторов, излагающих кривоту триггеров не применительно к mssql, а к базам данных вообще?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36359926
Фотография arni
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyDimitry Sibiryakov,

завязывать в коде на конкретного юзера - за это нужно стрелять не раздумываяПолагаю, что речь примерно о таком:
Код: plaintext
1.
2.
3.
if (CURRENT_USER<>'REPLICATOR') then
begin
...
end
Так что это - псевдоюзер, и такой код совсем не страшен :)
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36359934
Фотография arni
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКТОГЕНСейчас системы большие. Даже в нашей небольшой системе таблиц около 200.
Триггера в этой ситуации сильно увеличивают связность системы, добавляя туда
зависимости, которые бывает очень сложно отслеживать. Сопровождение такой системы
будет сущим мучением.Наша секта не ведает данных проблем, за что спасибо инструменту IBExpert - похоже лучшему средству администрирования в своем роде.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36359937
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
arnilockyDimitry Sibiryakov,

завязывать в коде на конкретного юзера - за это нужно стрелять не раздумываяПолагаю, что речь примерно о таком:
Код: plaintext
1.
2.
3.
if (CURRENT_USER<>'REPLICATOR') then
begin
...
end
Так что это - псевдоюзер, и такой код совсем не страшен :)
Ага. "псевдо юзер"......
Стрелять за такое.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36359952
Фотография arni
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyАга. "псевдо юзер"......
Стрелять за такое.Может к черту лаконичность такую? Приоткройте веки, так сказать, страждующим.
Или фишка просто в том, чтобы загнать это на уровень синтаксиса?
автор[ NOT FOR REPLICATION ]
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36359964
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyАга. "псевдо юзер"......
Стрелять за такое.

Не нравится юзер: есть ещё роли и контекстные переменные.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36359993
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
lockyАга. "псевдо юзер"......
Стрелять за такое.

Не нравится юзер: есть ещё роли и контекстные переменные.

Контекстные переменные - это уже куда лучше. Значительнее.
А юзера - нафиг-нафиг.
Поведение триггера должно зависить от того что хотят сделать, а не от того, кто это делает.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360038
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Если в Language Reference Вы нащли только ALTER TRIGGER INACTIVE, а до
CURRENT_USER, который обычно и используют для обхода триггерной логики
не докопались, то тут уже поможет только хирургия.

Может, я и идиот, но моя цель звучит не как "использовать триггеры", а
делать качественные системы, но поскольку ваш подход единственно верный,
то пойду и убьюсь апстену.
С уважением.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360072
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКТОГЕН1)Отключение триггеров в транзакции блокирует таблицу целиком.
Если вместо есть транзакция, в которой вместо триггера должен выполнятся другой код,
то головная боль обеспечена.
А вот интересно, отключить индекс, pk или fk в postgre тоже вызывает такие проблемы? Если да, то они как минимум зло на две трети, согласно этому высказыванию.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360081
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКТОГЕН
Может, я и идиот, но моя цель звучит не как "использовать триггеры",
С уважением.
Пардон, были озвучены три причины неиспользования триггеров. 1-ю и 3-ю проблему решили. Значит причин неиспользовать триггеры нет, фактически.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360083
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyFreemanZAV
А причина страха очевидна. До этого они столкнулись с реализацией оных в MSSQL
забавно.
я "сталкиваюсь" с реализацией курсоров в оракле (а они там неплохо реализованы).
Но по прежнему считаю что чем совать курсоры куда ни попадя (зачастую от ненадлежащего знания матчасти) - есть зло.
Забавно, что речь о курсорах не шла.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360084
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyкурсоры куда ни попадя (зачастую от ненадлежащего знания матчасти) - есть зло.
поддерживаю. в отличие от "триггеры - зло".

pkarklinПоляковой Ларисе Николаевне самой бы курсы послушать...
могобыть. я полез туда за просмотром синтаксиса. синтаксис поначалу опасений не вызывает. Сильно смутили inserted/deleted, о которых я и раньше знал. в FB, например, любые триггеры только FOR EACH ROW, если использовать терминологию Оракла. И before/after без проблем. И в FB триггеры используются не только для обработки, но и как "замена" сложных check constraint, причем использование их как before не требует никаких "откатов транзакций" и т.п. Я ж говорю, что архитектуры разные.
Зачем, опираясь на архитектуру триггеров и транзакций в MS SQL, проводить параллели "зла" на все остальные СУБД?

потом, я нашел например
http://www.sql.ru/articles/mssql/02021201AuditingThroughTriggers.shtml
автор - Сатана?

В ФБ например есть Execute Statement, т.е. выполнение SQL из переменных в коде процедур и триггеров. Да, можно сказать что это зло, потому что новички, и особенно приходящие с других серверов, начинают использовать эту фичу напропалую, вместо продумывания кода и написания нормальных процедур и запросов.
Так что, в MS SQL одно зло, а в других СУБД - другое зло. Опять же, в MS SQL нет триггеров на view. Это "добро"? А в FB они есть. :-)
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360092
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvОпять же, в MS SQL нет триггеров на view.

Вообще-то - есть.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360103
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVlockyFreemanZAV
А причина страха очевидна. До этого они столкнулись с реализацией оных в MSSQL
забавно.
я "сталкиваюсь" с реализацией курсоров в оракле (а они там неплохо реализованы).
Но по прежнему считаю что чем совать курсоры куда ни попадя (зачастую от ненадлежащего знания матчасти) - есть зло.
Забавно, что речь о курсорах не шла.
Забавно, что вы не в курсе о проблемах в применении курсоров
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360105
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВЫВообще-то - есть.
блин. только что смотрел в
http://msdn.microsoft.com/ru-ru/library/ms189799.aspx
была такая фраза. теперь смотрю - не вижу.

а. есть ограничения. FOR | AFTER
"Триггеры AFTER не могут быть определены на представлениях." с другой стороны, тут же взаимоисключающая фраза:
"Если единственным заданным ключевым словом является FOR, аргумент AFTER используется по умолчанию."
И правда зло...
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360109
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvбыла такая фраза. теперь смотрю - не вижу.

Плюнь, дока у МС тоже не блистает. Смотри в синтаксическую диаграмму:
Код: plaintext
1.
CREATE TRIGGER trigger_name
ON { table | view }

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360110
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
locky
Забавно, что вы не в курсе о проблемах в применении курсоров
Почему это. Как раз я теперь знаю, что проблем с примененим курсоров в оракле нет, ибо
lockyони там неплохо реализованы
Теперь остаётся узнать, какая связь между триггерами и курсорами
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360114
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVlocky
Забавно, что вы не в курсе о проблемах в применении курсоров
Почему это. Как раз я теперь знаю, что проблем с примененим курсоров в оракле нет, ибо
lockyони там неплохо реализованы
Теперь остаётся узнать, какая связь между триггерами и курсорами
Вот ведь прости господи
Да, проблем с реализацией курсоров в оракле нет.
Есть проблема с применением.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360116
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
locky
Да, проблем с реализацией курсоров в оракле нет.
Есть проблема с применением.
Не знал, что в оракле проблематично применить курсоры, несмотря на их хорошую реализацию.

Ну так а триггеры здесь при чём?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360126
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVlocky
Да, проблем с реализацией курсоров в оракле нет.
Есть проблема с применением.
Не знал, что в оракле проблематично применить курсоры, несмотря на их хорошую реализацию.

стейтмент drop там тоже хорошо реализован, но это совершенно не значит что его нужно постоянно применять.

FreemanZAV
Ну так а триггеры здесь при чём?
см. выше. Применимость фичи обосновывается не качеством её реализации.
Ты будешь применять плохо реализованную фичу, если таки она тебе реально нужна.
И аналогично - не следует применять ненужную (в данном случае) фичу только потому что она "хорошо реализована".
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360130
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyПрименимость фичи обосновывается не качеством её реализации.
Ты будешь применять плохо реализованную фичу, если таки она тебе реально нужна.
И аналогично - не следует применять ненужную (в данном случае) фичу только потому что она "хорошо реализована".+1.
очевиднейшая, вроде, вещь сказана, но, почему-то она непонятой оппонентами остаётся.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360139
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyстейтмент drop там тоже хорошо реализован, но это совершенно не значит что его нужно постоянно применять.
Но и "злом" его не назовёшь

lockyИ аналогично - не следует применять ненужную (в данном случае) фичу только потому что она "хорошо реализована".
А , не понял глубину мысли Я знаю аналогичный случай. В Туле, я слышал, хорошие самовары, но их тоже не стоит постоянно применять, например в качестве пряника.
Ну и уж конечно, вообще, совать что-либо куда не попадя - есть зло.

Если с этих позиций рассуждать, то да, триггера - зло, впрочем, как и самовары.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360270
Энди Таккер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorychочевиднейшая, вроде, вещь сказана, но, почему-то она непонятой оппонентами остаётся.
Очевиднейшая вещь звучала так:
lockyтриггера - зло. Иногда - необходимое, но зло - однозначно.
и
lockyя "сталкиваюсь" с реализацией курсоров в оракле (а они там неплохо реализованы).
Но по прежнему считаю что чем совать курсоры куда ни попадя (зачастую от ненадлежащего знания матчасти) - есть зло.

Между фразами "зло - однозначно" и "совать куда ни попадя - есть зло" просматривается "очевиднейшая" разница. Вот оппоненты и хотят разрешить данную логическую нестыковку.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360381
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Энди Таккер
Между фразами "зло - однозначно" и "совать куда ни попадя - есть зло" просматривается "очевиднейшая" разница. Вот оппоненты и хотят разрешить данную логическую нестыковку.
Оппонентам просто хочется пофлудить и несколько оправдать себя
Всегда нелегко, когда кто-то приходит и говорит что твой стиль работы - полная фигня. Это очень обидно. Ведь мы так ловко выпутываемся из ситуаций, в которые же сами и попали!
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360445
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никак не могу получить ответ на один вопрос. В MSSQL можно при ошибке в процедуре посмотреть стек?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360585
Фотография Megabyte
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКТОГЕН Если вместо есть транзакция, в которой вместо триггера должен выполнятся другой код, то головная боль обеспечена.

Это следствие неправильно спроектированной структуры. С какой стати в какой-то там транзакции что-то должно выполняться вместо триггера? Зачем вам в данном случае триггер?
В триггере надо выполнять те действия, которые ВСЕГДА выполняются при изменении данных. Имхо...
За редким исключением, на этот случай есть отключение триггера, но на то это и редкое исключение, что возникает не так часто, чтобы быть проблемой.
---
Проходя мимо разложенных граблей, ты теряешь драгоценный опыт. (с)
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360595
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVНикак не могу получить ответ на один вопрос. В MSSQL можно при ошибке в процедуре посмотреть стек?

Нет.

In the scope of a CATCH block, the following system functions can be used to obtain information about the error that caused the CATCH block to be executed:

ERROR_NUMBER() returns the number of the error.

ERROR_SEVERITY() returns the severity.

ERROR_STATE() returns the error state number.

ERROR_PROCEDURE() returns the name of the stored procedure or trigger where the error occurred.

ERROR_LINE() returns the line number inside the routine that caused the error.

ERROR_MESSAGE() returns the complete text of the error message. The text includes the values supplied for any substitutable parameters, such as lengths, object names, or times.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360637
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А стек-то где?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360652
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAV,

pkarklinНет.

Вы это пропустили?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360678
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinFreemanZAV,

pkarklinНет.

Вы это пропустили?
Пардон, пропустил.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360693
andy st
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FreemanZAVНикак не могу получить ответ на один вопрос. В MSSQL можно при ошибке в процедуре посмотреть стек?
Стек вызовов процедур можно увидеть, используя SQL Profiler + отлов SP:StmtStarting и SP:StmtCompleted.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360713
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я за
автор"совать куда ни попадя - есть зло"
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360726
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andy stСтек вызовов процедур можно увидеть, используя SQL Profiler + отлов SP:StmtStarting и SP:StmtCompleted.

Это не стек вызовов, все таки. И по предложенным событиям просчитать стек будет ну ой как проблематично.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360733
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andy stFreemanZAVНикак не могу получить ответ на один вопрос. В MSSQL можно при ошибке в процедуре посмотреть стек?
Стек вызовов процедур можно увидеть, используя SQL Profiler + отлов SP:StmtStarting и SP:StmtCompleted.
Не надо, жизнь и так сурова.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360751
andy st
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pkarklinandy stСтек вызовов процедур можно увидеть, используя SQL Profiler + отлов SP:StmtStarting и SP:StmtCompleted.
Это не стек вызовов, все таки. И по предложенным событиям просчитать стек будет ну ой как проблематично.
Иногда проблематично, но всё-таки можно. Другое дело, что с параметрами - Опа.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360782
andy st
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FreemanZAVandy stFreemanZAVНикак не могу получить ответ на один вопрос. В MSSQL можно при ошибке в процедуре посмотреть стек?
Стек вызовов процедур можно увидеть, используя SQL Profiler + отлов SP:StmtStarting и SP:StmtCompleted.
Не надо, жизнь и так сурова.
Каждый делает свою жизнь своими руками. Если вдруг получается суровой - стоит попробовать перезаточить руки под что-нить другое.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36362009
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сколько уже просим о возможности посмотреть стек - и всё никак :(
есть какие-то полувандальные способы, но их в прадакшн совать ой как стрёмно....

-------------------------
There’s no silver bullet!
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36362689
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andy st стоит попробовать перезаточить руки под что-нить другое.
Да я проктологией и не занимался никогда
...
Рейтинг: 0 / 0
282 сообщений из 282, показаны все 12 страниц
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / MS SQL Express vs PostgreSQL/SQLite/FireBird
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]