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

Откуда: Ukraine, Kiev
Сообщений: 48
locky
зы а почему "холостой" а не "неженатый"?

Уважаемый модератор форума "Просто треп" не ошиблись ли вы форумом с такими вопросами?
9 дек 09, 02:52    [8038227]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
Roman Yaroshenko
Member

Откуда: Ukraine, Kiev
Сообщений: 48
locky
Я лично в своей практике триггера вообще не использую, чего и вам желаю

Это совсем другой разговор. :)
Есть и такая точка зрения, - без возражений, но все зависит от конкретной задачи.
9 дек 09, 02:58    [8038231]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Roman Yaroshenko
locky
зы а почему "холостой" а не "неженатый"?

Уважаемый модератор форума "Просто треп" не ошиблись ли вы форумом с такими вопросами?

не думаю
Просто хочу уточнить Вашу терминологию - мало ли что вы под тем или иным словом подразумеваете?
А незнание чьей-то частной терминологии зачастую ведёт к взаимному непониманию и прочим проблемам, не так ли?
9 дек 09, 02:59    [8038232]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Roman Yaroshenko
locky
Я лично в своей практике триггера вообще не использую, чего и вам желаю

Это совсем другой разговор. :)
Есть и такая точка зрения, - без возражений, но все зависит от конкретной задачи.

Скажем дипломатично.
Требуются крайне веские основания для использования триггеров.
Если таковых оснований нет - триггеров быть не должно.
9 дек 09, 03:00    [8038233]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
Roman Yaroshenko
Member

Откуда: Ukraine, Kiev
Сообщений: 48
locky
Просто хочу уточнить Вашу терминологию - мало ли что вы под тем или иным словом подразумеваете?
А незнание чьей-то частной терминологии зачастую ведёт к взаимному непониманию и прочим проблемам, не так ли?

Ок, попытаюсь объяснить, что я под этим понимаю:
Холостой апдейт - эта такая форма запроса "update" при которой в секции "set" нет явного задания новых значений полей, т.е. изменение происходит как-бы вхолостую. Естественно применение этой конструкции бессмысленно без триггеров на таблице. В триггерах вся необходимая логика поведения и закладывается.
Сам применяю крайне редко, только после изменения метаданных если нужно пересчитать служебные поля.
9 дек 09, 03:20    [8038243]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Roman Yaroshenko,

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

зы да и диапазонное обновление пока никто не отменял.
9 дек 09, 03:30    [8038244]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
Roman Yaroshenko
Member

Откуда: Ukraine, Kiev
Сообщений: 48
locky
Требуются крайне веские основания для использования триггеров.
Если таковых оснований нет - триггеров быть не должно.

Само собой разумеется. :) Триггера усложняют логику активной части БД, поэтому ихнее применение должно быть аккуратным.
9 дек 09, 03:30    [8038245]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
Roman Yaroshenko
Member

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

зы да и диапазонное обновление пока никто не отменял.

Диапазонное обновление, впоследствии, и было сделано. :)
Почему оно тормозило в первоначальном варианте разбираться не стал, ибо операция была разовая и срочная.
9 дек 09, 03:38    [8038246]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
Infernal V. Raven
Member

Откуда: St.Petersburg
Сообщений: 1710
to Roman Yaroshenko
locky
Roman Yaroshenko
locky
Я лично в своей практике триггера вообще не использую, чего и вам желаю

Это совсем другой разговор. :)
Есть и такая точка зрения, - без возражений, но все зависит от конкретной задачи.

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

Тем более если надо просто выполнить триггер, не изменяя данных в таблице.
Что это за задачи такие?
9 дек 09, 09:49    [8038569]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
Megabyte
Member

Откуда: ближайшее заМКАДье
Сообщений: 5019
Roman Yaroshenko
Зайцев Фёдор
Просто выполнить триггер - довольно странная цель.

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

Вопрос: зачем в данном случае запускать апдейт, чтобы запустить триггер? Нельзя всё сделать в хранимке?
Триггера нужны вроде как, когда действия необходимо сделать при ИЗМЕНЕНИИ данных, у вас же данные не меняются...
9 дек 09, 15:00    [8041068]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
Roman Yaroshenko
Member

Откуда: Ukraine, Kiev
Сообщений: 48
Megabyte
Вопрос: зачем в данном случае запускать апдейт, чтобы запустить триггер? Нельзя всё сделать в хранимке?
Триггера нужны вроде как, когда действия необходимо сделать при ИЗМЕНЕНИИ данных, у вас же данные не меняются...

Можно было сделать и хранимкой, но ее для этого нужно было создать.
Операция была разовой связанная с изменением тела триггера пересчитывающего служебные поля.
9 дек 09, 16:08    [8041676]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
Senya_L
Member

Откуда: Москва
Сообщений: 5381
pkarklin
Senya_L
pkarklin
Т.е. проблемма тока в месте в tempdb?
Нет, в "прожорливости" сервера.
И не только tempdb, но и файлы логов пухнут неплохо.


Ну, дык, "искуство требует жертв". И залоггировать все надо, чтоб откатить в случае чего, и RVS заполнить, дабы не мешать читателям и inserted с deleted кормить. ;)
Да это я так, ворчу.
Зачем на блокировочнике использовать прием, более характерный для версионников - я и сам не понял. Транзакции с TIL = REPEATABLE READ обычно хватает более чем. Ну или SERIALIZABLE, если очень уж надо монопольно над всей таблицей поиздеваться. :)
9 дек 09, 16:49    [8042092]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Senya_L
Зачем на блокировочнике использовать прием, более характерный для версионников - я и сам не понял.


В момем понимании... До 2005 таблицы inserted и deleted строились из лога. При появлении RVS в 2005 и возможности работы как в режиме версионности, так и в режиме блокировочника было принято решение получать данные из "одного места", а именно из RVS.
9 дек 09, 17:18    [8042405]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
Yo.!
Guest
из лога мего геморно, нужно пол лога ненужного считать пока не наткнешся на начало своей транзакции, MVS оно быстрее достать готовое. только не совсем понял откуда оно возьмется в MVS если версионность не включена ? или 2005 плодит какие-то версии независимо от allow_isolation_snapshot ?
9 дек 09, 17:36    [8042541]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
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
  • 9 дек 09, 20:13    [8043301]     Ответить | Цитировать Сообщить модератору
     Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
    arni
    Member

    Откуда: Иваново
    Сообщений: 3544
    locky
    Скажем дипломатично.
    Требуются крайне веские основания для использования триггеров.
    Если таковых оснований нет - триггеров быть не должно.
    Триггеры настолько обыденные и употребительные объекты в современных СУБД, что их количество в среднестатистической базе обычно с запасом превосходит количество таблиц и вьюшек - собственно базовых объектов. И не требуется никаких особых проектных условий для их использования - это просто современный стиль проектирования БД.
    Нет, конечно не все СУБД одинаково хорошо поддерживают некоторые объекты. К примеру, родной для меня Firebird до самых последних версий весьма посредственно осуществлял поддержку view: трудности с alter при наличии зависимостей, невозможность использования совместно с ХП и др. Многие просто старались не использовать их без особой надобности. Если в родном для вас MsSQL таже история с триггерами - то это частный случай, но безапеляционно обсуждать, что это чуть ли не дурнопахнущий подход - совершенно игнорировать реалии нашей профессии.
    9 дек 09, 21:40    [8043470]     Ответить | Цитировать Сообщить модератору
     Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
    locky
    Member

    Откуда: Харьков, Украина
    Сообщений: 62034
    arni,
    реалии нашей профессии таковы что нужно стараться обходится простыми средствами и не усложнять систему сверх необходимого.
    Что можно сделать в триггере такого, чего нельзя сделать в ХП?
    Ах, провести некоторые изменения независимо от того, кто запрос запостил?
    Ах, у вас неограниченное число точек изменения таблицы? Ну кто ж вам доктор то....

    триггера - зло. Иногда - необходимое, но зло - однозначно.
    9 дек 09, 21:45    [8043475]     Ответить | Цитировать Сообщить модератору
     Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
    pkarklin
    Member

    Откуда: Москва (Муром)
    Сообщений: 74930
    arni
    но безапеляционно обсуждать, что ...
    Триггеры настолько обыденные и употребительные объекты в современных СУБД, что их количество в среднестатистической базе обычно с запасом превосходит количество таблиц и вьюшек - собственно базовых объектов. И не требуется никаких особых проектных условий для их использования - это просто современный стиль проектирования БД.


    Не стоит, на мой взгляд, обвинять других в безапеляционности, делая не менее безапеляционные заключения.
    9 дек 09, 21:51    [8043488]     Ответить | Цитировать Сообщить модератору
     Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
    pkarklin
    Member

    Откуда: Москва (Муром)
    Сообщений: 74930
    locky
    триггера - зло. Иногда - необходимое, но зло - однозначно.


    + 1024.
    9 дек 09, 21:53    [8043493]     Ответить | Цитировать Сообщить модератору
     Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
    arni
    Member

    Откуда: Иваново
    Сообщений: 3544
    locky,

    если триггер и хранимка для вас - это лишь альтернативные способы сделать одно и тоже, то от обсуждения предмета я пожалуй воздержусь, ибо наши позиции на проектирования с неизбежностью расходятся столь значительно, что никто ничего никому не докажет.
    9 дек 09, 21:54    [8043494]     Ответить | Цитировать Сообщить модератору
     Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
    arni
    Member

    Откуда: Иваново
    Сообщений: 3544
    pkarklin
    locky
    триггера - зло. Иногда - необходимое, но зло - однозначно.


    + 1024.
    Надо будет спросить Senya_L (завсегдатый как в вашей ветке, так и в Firebird), чем так плоха реализация триггеров в mssql
    9 дек 09, 21:58    [8043500]     Ответить | Цитировать Сообщить модератору
     Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
    pkarklin
    Member

    Откуда: Москва (Муром)
    Сообщений: 74930
    arni
    Надо будет спросить Senya_L (завсегдатый как в вашей ветке, так и в Firebird), чем так плоха реализация триггеров в mssql


    Дело не в плохости\хорошести реализации триггеров в той или иной СУБД. Дело в разделении DAL (Data Access Layer) и DSL (Data Store Layer) в клиент\серверной СУБД.
    9 дек 09, 22:10    [8043530]     Ответить | Цитировать Сообщить модератору
     Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
    kdv
    Member

    Откуда: iBase.ru
    Сообщений: 30253
    мда. какая дерьмовая архитектура должна быть в реализации триггеров, чтобы так их не любить, и проецировать эту нелюбовь на триггеры в любой СУБД?
    Впрочем, пустопорожний спор. Если триггеры в MS SQL использовать не советуют - не будем, ни триггеры в MSSQL, ни сам MS SQL.

    p.s. to arni - вспомнилось, какая буча была на rsdn по поводу недоумения пользователей MS SQL, зачем в одном коннекте нужно больше одной транзакции. По-моему речи про триггеры из той же оперы. Это всего-лишь показывает, что у каждой СУБД есть своя специфика, к которой быстро привыкают, и начинают считать ее естественной и для остальных СУБД, что абсолютно неверно.
    9 дек 09, 22:11    [8043533]     Ответить | Цитировать Сообщить модератору
     Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
    SergSuper
    Member

    Откуда: SPb
    Сообщений: 5488
    kdv
    мда. какая дерьмовая архитектура должна быть в реализации триггеров, чтобы так их не любить, и проецировать эту нелюбовь на триггеры в любой СУБД?
    Впрочем, пустопорожний спор. Если триггеры в MS SQL использовать не советуют - не будем, ни триггеры в MSSQL, ни сам MS SQL.
    Вы не поняли, речь шла про триггеры безотносительно СУБД
    хотя я лично с такой безапелляционностью не согласен, но у каждого свой опыт и свой мнение
    9 дек 09, 22:30    [8043582]     Ответить | Цитировать Сообщить модератору
     Re: MS SQL Express vs PostgreSQL/SQLite/FireBird  [new]
    locky
    Member

    Откуда: Харьков, Украина
    Сообщений: 62034
    kdv
    мда. какая дерьмовая архитектура должна быть в реализации триггеров, чтобы так их не любить, и проецировать эту нелюбовь на триггеры в любой СУБД?
    Впрочем, пустопорожний спор. Если триггеры в MS SQL использовать не советуют - не будем, ни триггеры в MSSQL, ни сам MS SQL.

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

    Как по мне, так назначение триггеров - это попытатся сохранить непротиворечивость данных в слабоуроавляемой и размытой системе, в которой изменения данных происходят откуда угодно и как угодно.
    Лично я предпочитаю строго контролировать точки изменения данных, и, как следствие - мне триггера не нужны.
    9 дек 09, 22:35    [8043595]     Ответить | Цитировать Сообщить модератору
    Топик располагается на нескольких страницах: Ctrl  назад   1 .. 3 4 5 6 7 [8] 9 10 11 12   вперед  Ctrl      все
    Все форумы / Сравнение СУБД Ответить