|
|
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
Почитал форум, но четкого мнения у меня не сложилось... Помогите пожалуйста выбрать СУБД как альтернативу MSSQL. Соответственно хотелось бы чтобы она 0. Была свободной 1. Как можно больше походила на MSSQL (имела граф. интерфейс, была несложной в освоении чтобы человек, который работал только с MSSQL как можно быстрее разобрался) 2. Была кроссплатформенной Особых требований по производительности нет, каких-то мегазадач она решать не придется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2009, 18:08 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
Gluck99FireBirdА как же насчет п.1? ;) В самом FB нет среды разработки, но IBExpert не хуже будет, чем SSMS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2009, 18:26 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
Senya_LА как же насчет п.1? ;)А что, FireBird только для зеков? Если, конечно, автор имел в виду свободная = бесплатная. Ну, а IBExpert чем-то даже получше будет. Не такой тормознутый. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2009, 21:00 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
Gluck99А что, FireBird только для зеков? Я бы не стал рекомендовать переходить на него с MS SQL... Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2009, 21:53 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
Devider, А чем не подходит MSSQL Express? Бесплатная, привычная Вам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2009, 13:49 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
Невнимательно прочел. Еще есть требование кроссплатформенности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2009, 13:50 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
С учетом всех последних метаний и брожений в умах ситуация выглядит так. Есть веб-приложение на яве (планировалось ASP.NET MVC, но... ), БД на MSSQL. Сейчас это все надо перевезти на линукс. Ну с явой проблемы все рашаемы, основной вопрос с БД. Я так подумал своей похмельной головой и решил, что сходство с MSSQL не важно особо, потому, что клона мы не найдем и напильнинг все равно будет нужен. А посему уж если осваивать новую СУБД то основные требования к ней - бесплатность, кроссплатформеность и "перспективность", т.е. чтобы потом не было жалко потраченное время, а знания потом пригодились в других проектах. Ну и графический интерфейс сильно хочется конечно. Кстати, за те 20 минут которые я смотрел на IBExpert оно мне понравилось впринципе. Только вот как быть с линем? Я так понял, что она только под винду? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2009, 15:06 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
Devider пишет: > новую СУБД то основные требования к ней - бесплатность, > кроссплатформеность и "перспективность", т.е. чтобы потом не было жалко > потраченное время, а знания потом пригодились в других проектах. Ну и Postgres Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2009, 15:52 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
По критерию похожести на MSSQL - Sybase SA. Поддерживает TransactSQL и WatcomSQL (в принципе похожие диалекты, только ватком более родной, а транзакт для совместимоти с ASE) Есть GUI, кросплатформенна, сама настраивает свои параметры в процессе работы, т.е. в эксплуатации будет близка к микрософту. Есть бесплатная версия - Sybase SA Web Edition. Но она только под веб-проекты. Остальные версии - платные. Ну а если на микрософт вы еще не сильно завязались и проект считай будете переписывать с нуля, то присоединяюсь к предыдущим советам - посмотреть на Postgres или Firebird. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2009, 16:04 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
Devider смотрел на IBExpert оно мне понравилось впринципе. Только вот как быть с линем? Я так понял, что она только под винду? А ты и разрабатывать решил под линухом? Ну, WINE те в руки. Хотя разработка БД в графической среде это ламерство. Текстовые скрипты рулят. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2009, 16:05 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
А для разрабоки есть бесплатный Sybase SA Developer Edition. Так что можно сказать, что эта субда вместе с ее родственником Sabase ASE наиболее похожи на микрософт, но при этом кросплатформенны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2009, 16:10 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
DeviderТолько вот как быть с линем? Я так понял, что она только под винду?С чего бы это? На офф. сайте посмотри ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2009, 16:33 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
Ggg_oldНу а если на микрософт вы еще не сильно завязались и проект считай будете переписывать с нуля, то присоединяюсь к предыдущим советам - посмотреть на Postgres или Firebird. Я так понимаю, спрашивать что и чем все-таки лучше- это будет извращенный стеб. =) Dimitry Sibiryakov А ты и разрабатывать решил под линухом? Нет, но изначально я и хоститься хотел под виндой, так что мало ли что.. Senya_L С чего бы это? На офф. сайте посмотри Я имел ввиду IBExpert ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2009, 17:37 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
DeviderSenya_L С чего бы это? На офф. сайте посмотри Я имел ввиду IBExpertПод Wine IBExpert запускается. Лично у меня не получилось, но я и старался не очень настойчиво. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2009, 17:57 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
Senya_LDeviderSenya_L Под Wine IBExpert запускается. Лично у меня не получилось, но я и старался не очень настойчиво. :) Знаем, плавали. =) С вайном у меня тока с сухим отношения скадываются пока. Ну а если по теме, то огнептица мне нравится все больше и больше. По крайней мере все без проблем нашлось, скачалось, встало.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2009, 18:27 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
DeviderПомогите пожалуйста выбрать СУБД как альтернативу MSSQL. Соответственно хотелось бы чтобы она 0. Была свободной 1. Как можно больше походила на MSSQL (имела граф. интерфейс, была несложной в освоении чтобы человек, который работал только с MSSQL как можно быстрее разобрался) 2. Была кроссплатформенной Особых требований по производительности нет, каких-то мегазадач она решать не придется.Помогаю - после MS SQL из бесплатных имхо имеет смысл или Sybase (вроде ближе всех к SS), или DB2 Express-C, которая не очень похожа, но: 0. Свободна для любых применений, можно поставлять со своим продуктом (Sybase - ограничена). 1. Хорошо работает сразу, еще лучше - после небольшой настройки. В комплекте - бесплатные граф. утилиты + мощная бесплатная родная среда разработки IBM DataStudio. 2. Win x32/x64, Lin x32/x64, Solaris x86, Mac OS x86. С производительность все очень неплохо. DeviderЕсть веб-приложение на яве (планировалось ASP.NET MVC, но... ), БД на MSSQL. Сейчас это все надо перевезти на линукс. Ну с явой проблемы все рашаемы, основной вопрос с БД. Я так подумал своей похмельной головой и решил, что сходство с MSSQL не важно особо, потому, что клона мы не найдем и напильнинг все равно будет нужен. А посему уж если осваивать новую СУБД то основные требования к ней - бесплатность, кроссплатформеность и "перспективность", т.е. чтобы потом не было жалко потраченное время, а знания потом пригодились в других проектах. Ну и графический интерфейс сильно хочется конечно.Если Java - прямая дорога к IBM DB2, они тесно интегрированы. Можно взять и халявный J2EE-сервер IBM WebSphere Community. Кстати, для web+Java может быть очень полезен нативный XML storage. Кстати, Data Studio есть плагин к Eclipse, так что всю разработку от схемы БД и SP (в т.ч. на Java) до J2EE сервисов можно вести в одной среде. Перспективность - взрослая СУБД, на ней можно делать достаточно серьезные проекты. Firebird на фоне DB2 я бы советовал или для встроенного варианта или для совсем небольшого сервера совсем "без претензий", т.к. у него очень простая настройка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2009, 14:00 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
Favn Спасибо! Выглядит действительно интересно, почитаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2009, 17:26 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Я бы не стал рекомендовать переходить на него с MS SQL... Кстати а почему? Стал разбираться с DB2, ну там по-ходу так сходу не получится, читать придется. Например у меня не получилось создать БД, при создании пишет "нет такого пути" ну и еще что какие-то непонятные вещи. После установки/деинсталляции слетели настройки файерфокса, избранное, пароли и т.д. Да и "антураж" (все прилогающиеся софтины) достаточно задумчивые. Хотя с точки зрения "изучить, чтобы потом пригодилось" наверное все-таки предпочтительнее DB2? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2009, 12:55 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
DeviderКстати а почему? Слишком разные идеологии. "Блокировочник vs версионник" уже не очень актуально, но триггера и процедурный язык вцелом... Для выходцев из MS SQL характерны гипертрофированная любовь к временным таблицам и боязнь курсоров. Часто встречается недопонимание управления транзакциями. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2009, 13:30 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovДля выходцев из MS ... Часто встречается недопонимание управления транзакциями. Т.е. Вы полагаете, что это зависит от СУБД, а не от того, кто ее использует?! ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2009, 13:53 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
pkarklin Т.е. Вы полагаете, что это зависит от СУБД, а не от того, кто ее использует?! ;) Ага. Автостарт транзакции и привычка делать роллбэки в триггерах расслабляют... Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2009, 14:50 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
А я сейчас сделал вот что: создал 2 одинаковых таблички с 2мя полями (интовое и текстовое) и делаю по N коннектов с выполнением M простениких селектов. И огнептица работает на порядок быстрее (например 3 секунды против 15). Отсюда я делаю один единственный вывод: человеку, которому делать сервак, писать код и еще ХЗ что чем заниматься наверное больше подойдет огнептица, как наименее требовательная. Хотя на досуге еще поизголяюсь. Мож строк добавлю или запрос усложню. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2009, 14:55 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovАга. Автостарт транзакции и привычка делать роллбэки в триггерах расслабляют... Гм... Коим образом явное использование неявнях транзакций и откатов в триггерах зависит от СУБД?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2009, 15:00 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
Hello, pkarklin! You wrote on Tue, 31 Mar 09 12:00:33 GMT: pkarklin p> Гм... Коим образом явное использование неявнях транзакций и откатов в триггерах зависит от СУБД?! Павел, ты будешь смеяться, но ЭТО не везде именно так. -- With best regards, Мимопроходящий. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2009, 15:03 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий Hello, pkarklin! You wrote on Tue, 31 Mar 09 12:00:33 GMT: pkarklin p> Гм... Коим образом явное использование неявнях транзакций и откатов в триггерах зависит от СУБД?! Павел, ты будешь смеяться, но ЭТО не везде именно так. -- With best regards, Мимопроходящий. Да я знаю, просто мне хочется понять ход мысли Дмитрия, т.е. каким образом наличие режима неявных транзакций и возможность сделать откат в триггере влияет на "недопонимание управления транзакциями". М.б. есть какой-то критерий (стандарт) "понимания управления"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2009, 15:13 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
DeviderИ огнептица работает на порядок быстрее (например 3 секунды против 15). В моем понимании "на порядок" - это 10 к 1, а не 5 к 1. DeviderА я сейчас сделал вот что: создал 2 одинаковых таблички с 2мя полями (интовое и текстовое) и делаю по N коннектов с выполнением M простениких селектов. Скрипты и результаты тестирования в студию... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2009, 15:15 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
pkarklin мне хочется понять ход мысли Дмитрия, т.е. каким образом наличие режима неявных транзакций и возможность сделать откат в триггере влияет на "недопонимание управления транзакциями". Один из типичных вопросов мигрантов: "А что, SELECT тоже надо в транзакции делать? " Второй типичный вопрос: "А как сделать ROLLBACK/COMMIT в триггере?" М.б. есть какой-то критерий (стандарт) "понимания управления"? Лично я таким критерием считаю осознание того, что транзакции принадлежат к бизнес-логике и пихать управление ими в физическую модель данных (триггера)... некорректно. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2009, 15:20 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
DeviderСтал разбираться с DB2, ну там по-ходу так сходу не получится, читать придется. Например у меня не получилось создать БД, при создании пишет "нет такого пути" ну и еще что какие-то непонятные вещи. После установки/деинсталляции слетели настройки файерфокса, избранное, пароли и т.д. Да и "антураж" (все прилогающиеся софтины) достаточно задумчивые. Хотя с точки зрения "изучить, чтобы потом пригодилось" наверное все-таки предпочтительнее DB2?При создании БД указывайте корень нужного диска, DB2 работает с ним. Через Control center все просто, мышом. С файрфоксом - у меня настройки не слетали никогда. Если под Win, на время установки сделайте IExplorer дефолтным бровзером - да, согласен, запуск установки сделан через попу. Задумчивость софтин проистекает в основном от старта Java - включите "Enable Quick Launch..." в трее винды. Вообще, если чего непонятно - лучше спросить в соседнем форуме по DB2 . Там, кстати, и добрые люди из IBM отвечают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2009, 15:21 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovОдин из типичных вопросов мигрантов: "А что, SELECT тоже надо в транзакции делать? " Вопрос без уточнения что это за SELECT, одиночный он или нет и т.п. не имеет смысла. Ибо даже в дефолтном режиме автокоммита - один SELECT одна транзакция. Dimitry SibiryakovВторой типичный вопрос: "А как сделать ROLLBACK/COMMIT в триггере?" Лично я таким критерием считаю осознание того, что транзакции принадлежат к бизнес-логике и пихать управление ими в физическую модель данных (триггера)... некорректно. Почему же Вы отнесли триггеры к "физической модели"?! Странно, производители многих СУБД считают, что как раз с помощью триггеров и можно\нужно "Enforcing Business Logic". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2009, 15:26 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
pkarklinВопрос без уточнения что это за SELECT, одиночный он или нет и т.п. не имеет смысла. Ибо даже в дефолтном режиме автокоммита - один SELECT одна транзакция. Естественно, это дефолтное значение относится к MS SQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2009, 15:27 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
pkarklin В моем понимании "на порядок" - это 10 к 1, а не 5 к 1. Ну 10 к 1 так и было, а при увеличении N и M то получилось то, что я описал. Потом я подумал, что неплохо было бы отследить зависимость от N и от M, нарисовать поверхность, посмотреть, почесать репу, ну и плюнул в итоге и прикрыл эту лавочку до выходных.. pkarklin Скрипты и результаты тестирования в студию... и соответственно не сохранил эту красоту. Ну я думаю не сложно будет повторить если зададитесь целью. Тестил чем-то вроде: Код: 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. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2009, 15:39 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
Deviderpackage javaapplication; Да, да. нет ничего более кошерного, чем мерить производительность СУБД скриптами на джаве. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2009, 15:42 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
pkarklinВопрос без уточнения что это за SELECT, одиночный он или нет и т.п. не имеет смысла. Ибо даже в дефолтном режиме автокоммита - один SELECT одна транзакция. Естественно, это дефолтное значение относится к MS SQL.А можно узнать "в порядке самообразования" - к какой части MS SQL относится сие дефолтное значение? TSQL внутри SP или триггера - тоже?! pkarklinСтранно, производители многих СУБД считают, что как раз с помощью триггеров и можно\нужно "Enforcing Business Logic".Простите, что прерываю, но rollback в SS действительно можно сделать в триггере? Я в шоке. А зачем?!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2009, 15:48 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
Favn, Да, спасибо, разобрался. Все работает (из того, что пробовал =) ) только "Центр задач" пишет при запуске DBA1176N Центру управления не удалось автоматически каталогизировать базу данных каталога инструментов "" для системы "CompName". да после установки (с ИЕ по дефолту был оно что-то писало но отображадись только окна (контуры) и кнопки. Ну фреймы контролов короче (без картинок и шрифтов). Виндовз сканер воспринимал окно как единое целое, ну т.е. текст меток нельзя прочесть было. Короче, чего хотел я так и не понял, нажимал на кнопки исходя из того, что слева ОК а справа Cancel. =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2009, 15:51 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
pkarklinDeviderpackage javaapplication; Да, да. нет ничего более кошерного, чем мерить производительность СУБД скриптами на джаве. Так приложение-то на джаве будет написано. Зачем мне производительность "впринципе"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2009, 15:53 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
Favn Простите, что прерываю, но rollback в SS действительно можно сделать в триггере? Я в шоке. А зачем?!! Поройся в поиске, тут была длинная тема по этому поводу. Вкратце: это единственный способ откатить выполняющийся статемент/батч и обеспечить тем его атомарность. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2009, 16:04 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
DeviderВсе работает (из того, что пробовал =) ) только "Центр задач" пишет при запуске DBA1176N Центру управления не удалось автоматически каталогизировать базу данных каталога инструментов "" для системы "CompName". Наверно, Вы при установке отказались создавать БД TOOLSDB, а "Центр задач" без нее не может, вот и обиделсо :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2009, 16:07 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
FavnА можно узнать "в порядке самообразования" - к какой части MS SQL относится сие дефолтное значение? TSQL внутри SP или триггера - тоже?! Поумолчанию MS SQL работает в режиме автокоммита, когда каждая отдельная инстркция завернута в отдельную транзакцию. Т.е. отправка на сервер: Код: plaintext в таком режиме эквивалентно по поведению в режиме явных транзакций: Код: plaintext 1. 2. И это не зависит от того, пришла инструкция с клиента или она написана в хп без явного управления транзакциями. В триггере мы всегда находимся в транзакции (даже если она не была запущена явно) от инструкции, которая вызвала срабатывание триггера. Т.е. отправка на сервер в режиме автокоммита инструкции Код: plaintext при наличи тригера на INSERT будет эквивалентно по поведению в режиме явных транзакций: Код: plaintext 1. 2. 3. Можно перевести сервер в режим неявных транзакций, когда инструкции DML и DDL и некоторые другие инструкции стартуют транзакцию неявно, если таковой сейчас нет, и не стартуют, если есть активная. При таком подходе требуется лишь сказать COMMIT или ROLLBACK в конце пакета. FavnПростите, что прерываю, но rollback в SS действительно можно сделать в триггере? Я в шоке. А зачем?!! Есть таблица операций по счету, есть таблица с остатками по счету. При операции модификации данных в таблице операций по счету необходимо запретить проведение операции, по результатам которой остаток по счету станет <0, исключив при этом часть клиентов, имеющих овердрафт по счету, для них условия другие, не выйти в минус за максимальный овердрафт. Чистейшая бизнес-логика, не правда ли? Почему бы не реализовать это триггером, откатив (с учетом приведенных выше объяснений) то, что уже мог наделать триггер и саму инструкцию с выдачей соответствующего сообщения об ошибке или выполнить другие действия, например, отправить письмо менеджеру? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2009, 16:22 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Favn Простите, что прерываю, но rollback в SS действительно можно сделать в триггере? Я в шоке. А зачем?!! Поройся в поиске, тут была длинная тема по этому поводу. Вкратце: это единственный способ откатить выполняющийся статемент/батч и обеспечить тем его атомарность. Не совсем так, точнее совсем не так. Вот этот тред: http://www.sql.ru/forum/actualthread.aspx?tid=588877&pg=4&hl=set+xact_abort+%f2%f0%e8%e3%e3%e5%f0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2009, 16:35 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
Я, видимо, припух уже, но.. Вот такой запрос: sqlSELECT COUNT(*) FROM TableName WHERE (MOD(ID,2) = 0) В случае с огнептицей выполняется меньше чем за секунду при Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2009, 18:36 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
DeviderЭто как так? Первая возможность: ты забыл набить огнептицу данными. Вторая возможность: ты остановил выборку на первой/второй/двадцатой записи. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2009, 18:47 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Ну практически. В коде накосячил. Ну а так в общем получается очень похожие результаты. Самое большое что мне удалось добиться - это 6 с маленьким % в пользу огнептицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2009, 19:29 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
Devider Самое большое что мне удалось добиться - это 6 с маленьким % в пользу огнептицы. Странно. Только из соображения, что DB2 - чистый блокировочник, он должен быть гораздо быстрее на full scan в монопольном режиме. У него тупо больше записей на страницу влазит. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2009, 20:15 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
Devider, потести firbird на запросах с группировкой create table T ( id int, key int, val numeric(14,4) ) select key, sum(val) from T group by key Только на db2 создай MQT по столбцу key а на firebird какие угодно. ;) увидишь как птычка крылашки сложит ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2009, 21:00 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
пгуые123, Потестю, аха. А крылышки она сложила когда я стал выбирать нечетные ID, но не как белый человек а так: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2009, 00:18 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
пгуые123Только на db2 создай MQT по столбцу key а на firebird какие угодно. ;) Не получится, т.к. MQT, как и аналоги в остальных СУБД, это фича только Enterprise редакции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2009, 15:08 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
DeviderСамое большое что мне удалось добиться - это 6 с маленьким % в пользу огнептицы.Еще несколько моментов: 1. Для "чистого" сравнения не учитывайте в скрипте время на установление соединения - в DB2 оно довольно большое, особенно для "первого и единственного". По умолчанию все БД не активированы, активируются после любого 1-го конекта, дабы ненужные ресурсы не жрали, а активация требует времени. После отключения последнего пользователя БД опять деактивируется. 2. Хотите посмотреть "настоящую" скорость fullscan - создайте dms (вфефифыу ьфтфпьуте) tablespace на неформатированном разделе диска и разместите таблицу в нем. Должно быть заметно быстрее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2009, 15:33 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
В смысле, dms (database managment space) :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2009, 15:35 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
pkarklinИ это не зависит от того, пришла инструкция с клиента или она написана в хп без явного управления транзакциями. Можно перевести сервер в режим неявных транзакций, когда инструкции DML и DDL и некоторые другие инструкции стартуют транзакцию неявно, если таковой сейчас нет, и не стартуют, если есть активная. При таком подходе требуется лишь сказать COMMIT или ROLLBACK в конце пакета.DB2 всегда живет в "режиме неявных транзакций", потому и удивился, считая autocommit прерогативой (настройкой) клиента, а ни как не сервера. Для меня работа сервера в автокоммите по умолчанию, тем более в SP, выглядит диковато, ну да ладно. pkarklinПочему бы не реализовать это триггером, откатив (с учетом приведенных выше объяснений) то, что уже мог наделать триггер и саму инструкцию с выдачей соответствующего сообщения об ошибке или выполнить другие действия, например, отправить письмо менеджеру? http://www.sql.ru/forum/actualthread.aspx?tid=588877&pg=4&hl=set+xact_abort+%f2%f0%e8%e3%e3%e5%f0� Приведенный пример для меня логичнее реализовать обработкой ошибок, кот. в DB2 очень развита. Тот же RAISE ERROR может просто вызвать аварийный откат с нужным тестом ошибки, а можно выставить warning и обойтись без отката. А отправка письма к необходимости rollback отношения не имеет :) Тред прочитал, нашел там "свой" вопрос насчет "что делать с savepoint'ами" при такой работе, тем более что они в T-SQL есть, но к сожалению не нашел ответа. Имхо такой подход больше похож на привычное "тяжкое наследие" старых версий с бедным функционалом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2009, 16:03 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
pkarklin, благодарю за объяснение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2009, 16:04 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
А что если попытаться ограничиться рамками, допустим, SQL3 и если что перейти на другую СУБД перекинув данные? Или геморрой будет больший чем кажется? Просто скоро уже будет не рано начать кодить, а у меня по факту еще конь не валялся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2009, 16:48 |
|
||
|
Посоветуйте СУБД
|
|||
|---|---|---|---|
|
#18+
Favnпгуые123Только на db2 создай MQT по столбцу key а на firebird какие угодно. ;) Не получится, т.к. MQT, как и аналоги в остальных СУБД, это фича только Enterprise редакции.достаточно одной тоблэтки (С) кластерного индекса. помнится на аналитике птичка тормозила сильно и вряд ли с 1.5 че нить сильно изменилось. хотя наджо признать по части курсоров шустро работает. )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2009, 23:34 |
|
||
|
|

start [/forum/topic.php?all=1&fid=35&tid=1552968]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
48ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
70ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 176ms |

| 0 / 0 |
