|
|
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
lockyзы а почему "холостой" а не "неженатый"? Уважаемый модератор форума "Просто треп" не ошиблись ли вы форумом с такими вопросами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 02:52 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
lockyЯ лично в своей практике триггера вообще не использую, чего и вам желаю Это совсем другой разговор. :) Есть и такая точка зрения, - без возражений, но все зависит от конкретной задачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 02:58 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
Roman Yaroshenkolockyзы а почему "холостой" а не "неженатый"? Уважаемый модератор форума "Просто треп" не ошиблись ли вы форумом с такими вопросами? не думаю Просто хочу уточнить Вашу терминологию - мало ли что вы под тем или иным словом подразумеваете? А незнание чьей-то частной терминологии зачастую ведёт к взаимному непониманию и прочим проблемам, не так ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 02:59 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
Roman YaroshenkolockyЯ лично в своей практике триггера вообще не использую, чего и вам желаю Это совсем другой разговор. :) Есть и такая точка зрения, - без возражений, но все зависит от конкретной задачи. Скажем дипломатично. Требуются крайне веские основания для использования триггеров. Если таковых оснований нет - триггеров быть не должно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 03:00 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
lockyПросто хочу уточнить Вашу терминологию - мало ли что вы под тем или иным словом подразумеваете? А незнание чьей-то частной терминологии зачастую ведёт к взаимному непониманию и прочим проблемам, не так ли? Ок, попытаюсь объяснить, что я под этим понимаю: Холостой апдейт - эта такая форма запроса "update" при которой в секции "set" нет явного задания новых значений полей, т.е. изменение происходит как-бы вхолостую. Естественно применение этой конструкции бессмысленно без триггеров на таблице. В триггерах вся необходимая логика поведения и закладывается. Сам применяю крайне редко, только после изменения метаданных если нужно пересчитать служебные поля. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 03:20 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
Roman Yaroshenko, принято что же касается исходной ситуации (хотя, разумеется, это совершенно не моё дело), то запрос обновления на 5к строк, выполнение которого заставляет встрепенутся админа - выглядит весьма подозрительно. Я бы посоветовал попристальнее присмотрется к триггеру и к методикам пересчета выполняемых в нем. зы да и диапазонное обновление пока никто не отменял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 03:30 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
lockyТребуются крайне веские основания для использования триггеров. Если таковых оснований нет - триггеров быть не должно. Само собой разумеется. :) Триггера усложняют логику активной части БД, поэтому ихнее применение должно быть аккуратным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 03:30 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
lockyчто же касается исходной ситуации (хотя, разумеется, это совершенно не моё дело), то запрос обновления на 5к строк, выполнение которого заставляет встрепенутся админа - выглядит весьма подозрительно. Я бы посоветовал попристальнее присмотрется к триггеру и к методикам пересчета выполняемых в нем. зы да и диапазонное обновление пока никто не отменял. Диапазонное обновление, впоследствии, и было сделано. :) Почему оно тормозило в первоначальном варианте разбираться не стал, ибо операция была разовая и срочная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 03:38 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
to Roman Yaroshenko lockyRoman YaroshenkolockyЯ лично в своей практике триггера вообще не использую, чего и вам желаю Это совсем другой разговор. :) Есть и такая точка зрения, - без возражений, но все зависит от конкретной задачи. Скажем дипломатично. Требуются крайне веские основания для использования триггеров. Если таковых оснований нет - триггеров быть не должно. Тем более если надо просто выполнить триггер, не изменяя данных в таблице. Что это за задачи такие? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 09:49 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
Roman YaroshenkoЗайцев ФёдорПросто выполнить триггер - довольно странная цель. М-да. Тут действительно лучше выпить йаду и апстену. :) Если вы не использовали сего в своей практике, то и не пытайтесь - MSSQL этого не любит, а вы, сюдя по активности в форумах, его ярый приверженец. Вопрос: зачем в данном случае запускать апдейт, чтобы запустить триггер? Нельзя всё сделать в хранимке? Триггера нужны вроде как, когда действия необходимо сделать при ИЗМЕНЕНИИ данных, у вас же данные не меняются... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 15:00 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
MegabyteВопрос: зачем в данном случае запускать апдейт, чтобы запустить триггер? Нельзя всё сделать в хранимке? Триггера нужны вроде как, когда действия необходимо сделать при ИЗМЕНЕНИИ данных, у вас же данные не меняются... Можно было сделать и хранимкой, но ее для этого нужно было создать. Операция была разовой связанная с изменением тела триггера пересчитывающего служебные поля. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 16:08 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
pkarklinSenya_LpkarklinТ.е. проблемма тока в месте в tempdb?Нет, в "прожорливости" сервера. И не только tempdb, но и файлы логов пухнут неплохо. Ну, дык, "искуство требует жертв". И залоггировать все надо, чтоб откатить в случае чего, и RVS заполнить, дабы не мешать читателям и inserted с deleted кормить. ;)Да это я так, ворчу. Зачем на блокировочнике использовать прием, более характерный для версионников - я и сам не понял. Транзакции с TIL = REPEATABLE READ обычно хватает более чем. Ну или SERIALIZABLE, если очень уж надо монопольно над всей таблицей поиздеваться. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 16:49 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
Senya_LЗачем на блокировочнике использовать прием, более характерный для версионников - я и сам не понял. В момем понимании... До 2005 таблицы inserted и deleted строились из лога. При появлении RVS в 2005 и возможности работы как в режиме версионности, так и в режиме блокировочника было принято решение получать данные из "одного места", а именно из RVS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 17:18 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
из лога мего геморно, нужно пол лога ненужного считать пока не наткнешся на начало своей транзакции, MVS оно быстрее достать готовое. только не совсем понял откуда оно возьмется в MVS если версионность не включена ? или 2005 плодит какие-то версии независимо от allow_isolation_snapshot ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 17:36 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 20:13 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
lockyСкажем дипломатично. Требуются крайне веские основания для использования триггеров. Если таковых оснований нет - триггеров быть не должно.Триггеры настолько обыденные и употребительные объекты в современных СУБД, что их количество в среднестатистической базе обычно с запасом превосходит количество таблиц и вьюшек - собственно базовых объектов. И не требуется никаких особых проектных условий для их использования - это просто современный стиль проектирования БД. Нет, конечно не все СУБД одинаково хорошо поддерживают некоторые объекты. К примеру, родной для меня Firebird до самых последних версий весьма посредственно осуществлял поддержку view: трудности с alter при наличии зависимостей, невозможность использования совместно с ХП и др. Многие просто старались не использовать их без особой надобности. Если в родном для вас MsSQL таже история с триггерами - то это частный случай, но безапеляционно обсуждать, что это чуть ли не дурнопахнущий подход - совершенно игнорировать реалии нашей профессии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 21:40 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
arni, реалии нашей профессии таковы что нужно стараться обходится простыми средствами и не усложнять систему сверх необходимого. Что можно сделать в триггере такого, чего нельзя сделать в ХП? Ах, провести некоторые изменения независимо от того, кто запрос запостил? Ах, у вас неограниченное число точек изменения таблицы? Ну кто ж вам доктор то.... триггера - зло. Иногда - необходимое, но зло - однозначно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 21:45 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
arniно безапеляционно обсуждать, что ... Триггеры настолько обыденные и употребительные объекты в современных СУБД, что их количество в среднестатистической базе обычно с запасом превосходит количество таблиц и вьюшек - собственно базовых объектов. И не требуется никаких особых проектных условий для их использования - это просто современный стиль проектирования БД. Не стоит, на мой взгляд, обвинять других в безапеляционности, делая не менее безапеляционные заключения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 21:51 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
lockyтриггера - зло. Иногда - необходимое, но зло - однозначно. + 1024. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 21:53 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
locky, если триггер и хранимка для вас - это лишь альтернативные способы сделать одно и тоже, то от обсуждения предмета я пожалуй воздержусь, ибо наши позиции на проектирования с неизбежностью расходятся столь значительно, что никто ничего никому не докажет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 21:54 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
pkarklinlockyтриггера - зло. Иногда - необходимое, но зло - однозначно. + 1024.Надо будет спросить Senya_L (завсегдатый как в вашей ветке, так и в Firebird), чем так плоха реализация триггеров в mssql ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 21:58 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
arniНадо будет спросить Senya_L (завсегдатый как в вашей ветке, так и в Firebird), чем так плоха реализация триггеров в mssql Дело не в плохости\хорошести реализации триггеров в той или иной СУБД. Дело в разделении DAL (Data Access Layer) и DSL (Data Store Layer) в клиент\серверной СУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 22:10 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
мда. какая дерьмовая архитектура должна быть в реализации триггеров, чтобы так их не любить, и проецировать эту нелюбовь на триггеры в любой СУБД? Впрочем, пустопорожний спор. Если триггеры в MS SQL использовать не советуют - не будем, ни триггеры в MSSQL, ни сам MS SQL. p.s. to arni - вспомнилось, какая буча была на rsdn по поводу недоумения пользователей MS SQL, зачем в одном коннекте нужно больше одной транзакции. По-моему речи про триггеры из той же оперы. Это всего-лишь показывает, что у каждой СУБД есть своя специфика, к которой быстро привыкают, и начинают считать ее естественной и для остальных СУБД, что абсолютно неверно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 22:11 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
kdvмда. какая дерьмовая архитектура должна быть в реализации триггеров, чтобы так их не любить, и проецировать эту нелюбовь на триггеры в любой СУБД? Впрочем, пустопорожний спор. Если триггеры в MS SQL использовать не советуют - не будем, ни триггеры в MSSQL, ни сам MS SQL. Вы не поняли, речь шла про триггеры безотносительно СУБД хотя я лично с такой безапелляционностью не согласен, но у каждого свой опыт и свой мнение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 22:30 |
|
||
|
MS SQL Express vs PostgreSQL/SQLite/FireBird
|
|||
|---|---|---|---|
|
#18+
kdvмда. какая дерьмовая архитектура должна быть в реализации триггеров, чтобы так их не любить, и проецировать эту нелюбовь на триггеры в любой СУБД? Впрочем, пустопорожний спор. Если триггеры в MS SQL использовать не советуют - не будем, ни триггеры в MSSQL, ни сам MS SQL. Независимо от того, насколько хорошо реализовано зло в той или иной СУБД - зла следует избегать :) Как по мне, так назначение триггеров - это попытатся сохранить непротиворечивость данных в слабоуроавляемой и размытой системе, в которой изменения данных происходят откуда угодно и как угодно. Лично я предпочитаю строго контролировать точки изменения данных, и, как следствие - мне триггера не нужны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 22:35 |
|
||
|
|

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

| 0 / 0 |
