|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
Возник пока теоретичекий вопрос, а какая ДБМС самая "шустрая" при обработки последователности многих относително лёгких запросов из процедур. На практике имеется приложение где вся логика в процедурах, и один вызов процедуры приводик к выполению ~10000 легковесных запросов и ~ 1000 инсертов/делитов из временных таблиц. причём в приложении всего ~30 разновидных запросов. Версионник/блокировшик роли не играет, база в основном в режиме чтения + ОЛАП. Ползователей мало - вероятность негативных влеяний паралелных сессий <1%. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2011, 15:53 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
mikronкакая ДБМС самая "шустрая" при обработки последователности многих относително лёгких запросов из процедур. Этот вопрос теоретически бредовый, поскольку предполагает, что эти самые "лёгкие запросы" выполняются одинаково на разных СУБД, так что разница сводится только к их вызову из процедуры. А это далеко не так. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2011, 15:59 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Вопрос этого не предпологает, и даже наоборот, утверждает, что разные базы делают это очень по разному хорошо/плохо. т.е. на пример постгрес (на моей памяти 8-я версия) с подобной задачей справляется очень плохо как-раз потому что планы запросов у него не меняются от параметров запроса. Но ето только один аспект. С дрогой стороны смею предположить/утверждать что ДБМС так-же отличаются и по скорости исполения хранимок. Я затруднюсь правилно цформулировать вопрос, но скажем меня точно не интересюет кол-во транзакци в секунду при 500 пользователях. И время выполнения транзакции из трёх стетментов, которые переворачивают сотни тысяч записей. Упор идёт именно на скорость выполнения "простых" запросов, кажды из которых просматривает максимум 100 в среднем 10 записий и доступ всегда или по индексу или ранге скан, и включает маскимум 3 таблицы в среднем 1. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2011, 16:18 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
mikronУпор идёт именно на скорость выполнения "простых" запросов Да куда ни упирай, бред получается. Единственный способ узнать кто быстрее: СУБД, которая быстро вызывает медленно выполняющие запросы или СУБД, которая медленно вызывает быстро выполняющиеся запросы - это эксперимент. Поставь его и будет тебе ответ. Но это будет ответ в твоих условиях на твоей базе. Именно поэтому результаты чужих опытов тебе абсолютно бесполезны. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2011, 16:47 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Ненадо домыслов. Вопрос стоит так: какя ДБМС быстро выполнает расчёты в хранимых процедурах и быстро выполняет "лёгкие" запросы из хранимых процедур. Если подобные задачи можно было-бы охарактеризовать одним словом, как то ОЛАП или ОЛТП то вопрос звучал бы примерно так: Какая база наиболее для ХХХ-рода задач имеет мин время реакции при нагрузке 1 ползователь. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2011, 17:01 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovЕдинственный способ узнать кто быстрее: СУБД, которая быстро вызывает медленно выполняющие запросы или СУБД, которая медленно вызывает быстро выполняющиеся запросы - это эксперимент. Поставь его и будет тебе ответ. ну-ну, представляю, что бы ты намерял со своими ручками в оракле. тестами должны заниматься те кто знакомы с субд и не допустят хотя бы детских ошибок в конфигурировании. 2mikron вам нужна субд которая умеет достраивать план запроса в зависимости от bind переменных. такое оракл умеет, думаю и вся большая тройка. оракл кстати умеет компилировать сторед процедуры в нативный код, дает несколько процентов выигрыша при исполнении кода сторед процедуры. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2011, 17:14 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
Yo.!субд которая умеет достраивать план запроса в зависимости от bind переменных. такое оракл умеет, думаю и вся большая тройка. оракл кстати умеет компилировать сторед процедуры в нативный код, дает несколько процентов выигрыша при исполнении кода сторед процедуры. А теперь вопрос на засыпку: как он меняет план выполнения запроса, если тот откомпилирован в нативный код? Заново компилирует?.. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2011, 17:21 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovА теперь вопрос на засыпку: как он меняет план выполнения запроса, если тот откомпилирован в нативный код? Заново компилирует?.. ога, компилирует в жава байт код, а потом на SQL машине нативно исполняет ты почитал концепты, а то уж который год код под оракл лабаешь, не имея даже базовых знаний. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2011, 17:25 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
Yo.!а то уж который год код под оракл лабаешь, не имея даже базовых знаний. А нахрена? Он же умный, у него же оптимизатор - ого-го, справится. А слухи про медленное переключение между SQL и PL/SQL это, оказывается, результат детских ошибок в конфигурировании. Так о чём беспокоиться? Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2011, 17:57 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovА нахрена? Он же умный, у него же оптимизатор - ого-го, справится. А слухи про медленное переключение между SQL и PL/SQL это, оказывается, результат детских ошибок в конфигурировании. Так о чём беспокоиться? если бы у меня возникали ТАКИЕ вопросы я бы побеспокоился о своем здоровье ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2011, 18:00 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
Yo.!Dimitry SibiryakovА теперь вопрос на засыпку: как он меняет план выполнения запроса, если тот откомпилирован в нативный код? Заново компилирует?.. ога, компилирует в жава байт код, а потом на SQL машине нативно исполняет ты почитал концепты, а то уж который год код под оракл лабаешь, не имея даже базовых знаний. Уверен ? Там еще JIT компиллер есть http://download.oracle.com/docs/cd/B28359_01/java.111/b31225/chnine.htm А уже потом машинный код , и переключение контекстов выполенения JVM -SQL. Что быстрее жаба или PL/SQL сказать тяжело, но то что переключени контекстов ( функция <-> sql ) присутствет я практически уверен ( на 95 %). Будь добр предостваить документ где сие опровергается. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2011, 18:03 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
Доктор, гасите свет ! они на свет лезут !!! (с) анекдот для тех кто не понял это была шутка юмора. для тех кто совсем не понял переформулирую так: ога, компилирует в php байт код, а потом на SQL машине нативно исполняет ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2011, 18:09 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
Yo.!Доктор, гасите свет ! они на свет лезут !!! (с) анекдот для тех кто не понял это была шутка юмора. для тех кто совсем не понял переформулирую так: ога, компилирует в php байт код, а потом на SQL машине нативно исполняет Фух, наверное первый топик за известную мне историю сайта, где Йо сразу признает ( в данном случае переводя тему в шутку) , что оракл не совсем подходит под задачу. А может лучше пожевать, подумать , а уже потом лить маркетинговый булшит говорить ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2011, 18:18 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
mikron На практике имеется приложение где вся логика в процедурах, и один вызов процедуры приводик к выполению ~10000 легковесных запросов и ~ 1000 инсертов/делитов из временных таблиц.А должен быть один запрос на ~10000 строк и один инсерт/делит из временных таблиц на ~ 1000 строк. Тогда на любой СУБД будет работать быстро. row by row means slow by slow. Розница всегда дороже опта. mikron Какая база наиболее для ХХХ-рода задач имеет мин время реакции при нагрузке 1 ползователь. Которую знаешь ибо чую я вы ищете волшебную базу ХХХ, чтобы ничего не делать, а все бы само летало Dimitry Sibiryakov Этот вопрос теоретически бредовый+1 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2011, 18:44 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
ДохтаРФух, наверное первый топик за известную мне историю сайта, где Йо сразу признает ( в данном случае переводя тему в шутку) , что оракл не совсем подходит под задачу. боюсь, что вынужден вас разочаровать. то что я постебался над знаниями Дмитрия совсем не означает, что я признал то о чем вы подумали. судя по всему вы уже догадались, что сторед процедура состоит из процедурного pl/sql и декларативного SQL, которые обрабатывают разные машины. так вот, процедурный pl/sql может быть откомпилирован в нативный байткод который будет выполняться быстрее чем допустим интерпритатор сторед процедур постгреса. но это никак не затрагивает декларативную часть процедур, за исполнения которых отвечает SQL машина со своим кешом планов запросов и прочей декларативной требухой. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2011, 18:50 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
SERG1257row by row means slow by slow. Розница всегда дороже опта. А вот в соседнем топике этому не верят. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2011, 18:55 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
SERG1257, Я охотно верю, что вы не сталкивались с задачами подобно рода. Как следствие, ваш совет хотя и не лишён смысла, но в контексте задачи абсолютно безполезен. Осталное всё выдумки, домыслы и "жалкое довольство собой" (с) Чутьё к тому-же буксует: я уже писал, что всё работает на одной ДБМС. (Сайбейс АСА) Вопрос поэтому от части из любопытства, можно ли сделать ещё быстрее. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2011, 19:11 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
И кстати, в соседнем топике ишут базу под похожую задачу. В моём случае речь идёт о обработке связанного оринетированного графа. Оптом тут ничего не получатся. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2011, 19:32 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
mikron выдумки, домыслы и "жалкое довольство собой"А что еще вы ожидали на Вопрос от части из любопытства, можно ли сделать ещё быстрее. mikron В моём случае речь идёт о обработке связанного оринетированного графаТак вы прямо в СУБД граф обрабатываете? В упомянутом вами топике советовали использовать СУБД как хранилище, почему бы вам не поступить также. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2011, 19:59 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
Yo.!ДохтаРФух, наверное первый топик за известную мне историю сайта, где Йо сразу признает ( в данном случае переводя тему в шутку) , что оракл не совсем подходит под задачу. боюсь, что вынужден вас разочаровать. то что я постебался над знаниями Дмитрия совсем не означает, что я признал то о чем вы подумали. .... быть откомпилирован в нативный байткод который будет выполняться быстрее чем допустим интерпритатор сторед процедур постгреса. .... Давайте пока оставим нативный байт код в покое. Без поллитры тестирования и тюнинга мы друг другу ничего не докажем. В данной ситуации сравнение обьективным быть не может. Может кто то знает СУБД , которые умеют копмилить свои процедуры в машинный код ? Или накрайняк предоставляют простой интерфейс сырого доступа к записям и полям ( использованию индексов, проверки констреинтов и т д) путем возможности интеграции библиотек и функций ( на С/С++) в мотор БД ? Так что бы не через Ж и без велосипедостроения. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2011, 20:05 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
2mikron Если запросы внутри ХП простые но их много, т.е. наклные расходы на раздумия шибко умного оптимизатора как-то могут сказываться на общей скорости, то можно либо захинтовать, либо поиграться уровнями оптимизации оптимизатора. optimization_goal option First-row or All-rows All-rows optimization_level option 0-15 9 optimization_workload option Mixed, OLAP Mixed optimization_level option Controls the amount of effort made by the SQL Anywhere query optimizer to find an access plan for a SQL statement. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2011, 20:18 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
забыл написать, это у Sybase SA, которую вы упомянули. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2011, 20:20 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
SERG1257В упомянутом вами топике советовали использовать СУБД как хранилище, почему бы вам не поступить также.+1 mikron В моём случае речь идёт о обработке связанного оринетированного графа. В таком случае вам (имхо) надо смотреть не в сторону поиска другой СУБД, а в сторону: - лучших (быстрых) алгоритмов - возможности разместить всю БД в памяти - наконец, как сказали выше, использовать БД как хранилище и обрабатывать в памяти же. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2011, 16:17 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
Я удивляюсь, сколько здесь людей, которые не умеют читать :) Для тех, кто читает через слово: меня не волнуют - вопрос оптимизации АСА (это здесь оффтоп. Есть болле подходящий форум) - вопрос дизайна базы данных и приложения (так-же оффтоп) - "умные" советы аля "оптом дешевле" - "предсказания цыганок" о том, что мне нужно. меня инересует _сравнение_ ДБМС. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2011, 18:15 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
mikronменя инересует _сравнение_ ДБМС. Ну тогда для начала точно определи какой аспект сравнивать. Тестовый скрипт выкати. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2011, 18:27 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
mikron Я удивляюсь, сколько здесь людей, которые не умеют читать :)Вы спрашиваете каким именно микроскопом лучше забивать гвозди. Вам отвечают, что лучше это делать молотком. Вы обижаетесь. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2011, 18:29 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
SERG1257mikron Я удивляюсь, сколько здесь людей, которые не умеют читать :)Вы спрашиваете каким именно микроскопом лучше забивать гвозди. Вам отвечают, что лучше это делать молотком. Вы обижаетесь. ни в коем разе не обижаюсь. Пусть будет по вашему. вы мне подксажите, каким микроскопом быстрей? П.С. Тест для АСА может в понедельник накатаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2011, 18:48 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
SERG1257mikron Я удивляюсь, сколько здесь людей, которые не умеют читать :)Вы спрашиваете каким именно микроскопом лучше забивать гвозди. Вам отвечают, что лучше это делать молотком. Вы обижаетесь. Человек спрашивает каким образом быстрее и качественне скрепить 2^N досок. Сейчас он пользуется микроскопом.. Я бы вместо молотка посоветовал шеруповерт. Качество выше ( гвозди гаранитровано не загибаются), усилий меньше, (не нужно махать) и т д. Я бы тему сформулировал так : молоток( микроскоп) vs шуруповерт( или другой инструмент, что бы руками не махать) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2011, 19:12 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
mikronПусть будет по вашему. вы мне подксажите, каким микроскопом быстрей? Оракулом. Его ХП быстрее всех выполнит тучу простых запросов типа "select 0 from dual". Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2011, 19:46 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
mikron, на абстрактный вопрос, где ХП теоретически могут выполнятся быстрее чем у других, я бы посоветовал DB2. Ее ХП компилируются в dll и аттачатся к серваку. Т.е. в теории накладных расходов на интерпретация как-бы меньше. Но у всех приличных серваков давно существует кэш процедур, кэш планов итп вещи, так что не все так однозначно. И на счет АСА вы не говорили, что вас не интерисуют идеи по поводу ее ускорения. Во всяком случаем реакции на мое предложение поиграться уровнем оптимизации не последовало. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2011, 20:41 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
mikronВозник пока теоретичекий вопрос, а какая ДБМС самая "шустрая" при обработки последователности многих относително лёгких запросов из процедур.Чтож, на столь теоретический вопрос, теоретический ответ: В некоторых случаях быстрее будет одна СУБД, в других- другая, а в третьих - третья. Подробнее: Если у нас есть процедуры и в них запросы Z k (k=1.n) ; СУБД S k (k=1..n) , каждая с параметрами для оптимизации PS k,n причем они для каждой СУБД разные, и некоторые параметры немного ускоряют некоторые запросы, но сильно замедляют другие, а другие параметры сильно ускоряют одни запросы но немного замедляют другие.. то очевидно - см. выше. mikronЯ удивляюсь, сколько здесь людей, которые не умеют читать :) Для тех, кто читает через слово: меня не волнуют: <skip> меня инересует _сравнение_ ДБМС.ок, а теперь, оффтоп (дл тех, кто не понимает ответы): у меня есть легковая машина, она начала слегка перегреваться, оказалось, надо долить охлаждающую жидкость. Я думаю теоретически, может быть не доливать, а купить другую машину, которая будет лучше работать в этих условиях? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2011, 13:00 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
Ggg_oldя бы посоветовал DB2. Ее ХП компилируются в dll и аттачатся к серваку.К сожалению, эта информация немного устарела. Лет так на несколько. Если речь о DB2 LUW, конечно - вряд ли тут кого интересуют мейнфреймы :) В DB2 LUW ХП писанные и на SQL PL, и на PL/SQL компилячатся в один и тот же байт-код, исполняемый сервером. Похоже на Оракл. Другое дело, что триггеры и функции на спец. подмножестве SQL PL вообще не компилячаться, а inline подставляются в вызвавший запрос и с ним оптимизируются, что м.б. весьма эффективно. Кроме того, можно писать ХП на нативных и не очень языках (C++, Java, ...). А вот компиляченный C++ уже может выполняться в адресном пространстве сервера, экономя ресурсы. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2011, 14:08 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
mikronодин вызов процедуры приводик к выполению ~10000 легковесных запросов и ~ 1000 инсертов/делитов из временных таблицА вот тут я бы посоветовал DB2 по другой причине - в ХП может применяться "статическая" компиляция запросов (не динамических, конечно) - их синт. анализ, оптимизация и план строятся при первом выполнении (или при компиляции), серьезно экономя время. Перестроить планы можно отдельной командой во время минимальной нагрузки или после серьезного изменения данных. PS. Такое количество запросов в одной ХП наталкивают на мысль об необходимости использования комплексных CTE вместо этой кучи. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2011, 14:15 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
Вот попытался изобразить основной паттерн использования для Сайбейс АСА. Давате мерятся, кто быстрее. На АСА-12 25 секунд. Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2011, 15:15 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
ДохтаРЧеловек спрашивает каким образом быстрее и качественне скрепить 2^N досок. ещё один писАтель. Где это я спашивал, "каким образом"? Не припомню. А спрашивал "каким микроскопом/шуруповертом/... (по фантазии читателя) удобней". А на грабли я сам наступать мастер. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2011, 15:55 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
S.G.В некоторых случаях быстрее будет одна СУБД, в других- другая, а в третьих - третья. Никто не отрицает. Я надеюсь что вы так-же не станете отрицать очевидный факт, что есть базы данных, которые лутше подходят для ОЛТП, есть которые специализируются на аналитику, есть специфические, для ХМЛ, для больших обёмов данных, обейтно-ориентированные и т.д. и т.п. И у некоторых здесь есть большой опыт, который подксазывает, что безполезно ожидать напимер от террадаты победы в ОЛТП десциплине. Вот собственно эти мнения мне и интересны. И вобще, зачем я обьясняю банальные вещи. Ну давайте сравнивать. S.G.у меня есть легковая машина, она начала слегка перегреваться, оказалось, надо долить охлаждающую жидкость. Я думаю теоретически, может быть не доливать, а купить другую машину, которая будет лучше работать в этих условиях? Для тех, кто в мышинах соображает лутьше чем ИТ> А может действительно лутше новую? Кто сказал что в охлаждаёшей жидкости дело? А может масло стало в систему охлаждения гнать? А может я на машине стал прицепы тяжёлые таскать, и всё с полной нагрузкой. А может мне вобще самосвал нужен а не пежо 106. . Вот и судят некоторые опрометчево, и доливают воды, а через месяц машина в хлам. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2011, 16:17 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
mikron , Код для СУБД Caché 2012.1.FT4 Class del.t2 Extends %Persistent { Parameter SQLTABLETYPE = "GLOBAL TEMPORARY"; Property c1 As %Integer; Property c2 As %Integer; Property c3 As %Integer; } Class del.t1 Extends %Persistent { Property c1 As %Integer; Property c2 As %Integer; Property c3 As %Integer; Property c4 As %Integer; Index i1 On (c1, c3, c2); ClassMethod Fill() { set time=$zhorolog &sql(truncate table del.t1) for i=1:1:1000 { for j=1:1:20 { set c2=$random(1000) set c3=$random(1000) &sql(insert into del.t1(c1,c2,c3,c4) values(:i,:c2,:c3,:j)) } } write "time=",$zhorolog-time," s.",! } ClassMethod MyTest() { set time=$zhorolog &sql(truncate table del.t2) set p=$random(1000) for i=1:1:1000000 { set j=$random(1000) &sql(declare c cursor for select top 10 c2 from del.t1 where c1 = :p order by abs(c3 - :j) desc for read only) &sql(open c) for { &sql(fetch c into :curC2) quit:SQLCODE &sql(insert into del.t2(c1,c2,c3) values(:p,:curC2,:j)) if p'=curC2 { set p=curC2 quit:$random(1000000)>400000 } } &sql(close c) } write "time=",$zhorolog-time," s.",! &sql(select count(*) into :count from del.t2) write "count=",count,! } ClassMethod FillDirect() { set time=$zhorolog do DISABLE^%NOJRN do ##class(del.t1).%KillExtent() set id=0 for i=1:1:1000 { for j=1:1:20 { set id=id+1 set c2=$random(1000) set c3=$random(1000) set ^del.t1D(id)=$listbuild("",i,c2,c3,j) set ^del.t1I("i1",i,c3,c2,id)="" } } set ^del.t1D=id do ENABLE^%NOJRN write "time=",$zhorolog-time," s.",! } } Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
PS: вместо SQL можно использовать прямой доступ. В этом случае скорость будет ещё выше. Для примера см. FillDirect() . ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2011, 19:42 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
у меня на аса 10.0.1 на машинке с одним сата винтом, кор2дуо, 1гб вышло около 35 секунд. Поигрался уровнями оптимизации оптимизатора, сущесвенной разницы не заметил. count(*)=1452 Есть вопрос по тесту. По сути в цикле выполняется многократно один и тот же запрос: Код: plaintext 1. 2. 3. 4. 5. 6. 7.
т.е. условие в поиске where c1 = @p константное! В таком случае, оно либо закешируется, либо єто будет просто тест кєшпамяти и процессора. В такой ситуации все равно, насколько интерпретатор хранимок будет быстро их интерпретировать, все упрется в скорость выполнения этого курсора. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2011, 20:48 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
Ggg_oldт.е. условие в поиске where c1 = @p константное!Разве p и j постоянны? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2011, 22:02 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
Да, извините, проглядел насчет константности. Но все равно, основная нагрузка - выполнение селекта, а не мелкие вычисления в цикле. Т.е. не суть принципиально, во что там компилит текст хп движок сервера. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2011, 22:06 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
Ggg_old , Для чистых вычислений, думаю лучше использовать С++ с задействованием GPU, например с помощью интерфейса CallIn . PS: Опыт использования GPU для финансового моделирования (C#) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2011, 22:30 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
так то ж не мне нужно, а топикстартеру. Может ему действительно будет лучше написать хп на жаве, загнать исходную таблицу в какой-нибудь массив или иной контейнер и произвести расчет на низком уровне не прибегая к внутренним select'ам? вон на каше как лихо вышло.. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2011, 00:24 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
хе-хе, а дома на SA12 на белом iMac (c2d 2.16ГГц) под макосх 45-50 сек! Сижу вот офигеваю, то ли мак такой тормозной, то ли SA12 тормознее на этом тесте чем десятка. Порою дальше. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2011, 00:55 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
микрон, готовь магарычи :) разогнал с 50сек до 36. правда заставляет задуматься, что есть некий косячек в реализации, можно продолжить в вашем топике сайбезовой ветки. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2011, 02:08 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
микрон, профайлер показал, что треть времени в функции тратится на строку set @j = round(1000 * rand(), 0); заменил ее на: set @j = truncnum(1000 * rand(),0); и оп ля-ля.. Завел у сайбеза топик: http://sqlanywhere-forum.sybase.com/questions/8333/perfomance-issues-with-round-and-truncnum Если что, присоединяйся там. Наверное имеет смысл протестить производительность всех математических функций, что у тебя гоняются в циклах, сравнить их с предыдущей версии SA. Жду отзывы :) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2011, 10:40 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
Ggg_oldмикрон, профайлер показал, что треть времени в функции тратится на строку set @j = round(1000 * rand(), 0); Жду отзывы :) Опа, интересный результат. на днях посмотрю / проверю. На АСА 11 тест проходит за 31 сек. Машина примерно одинакового класса. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2011, 11:19 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
PostgreSQL 9.1.1 on x86_64-unknown-linux-gnu, compiled by gcc-4.6.real (Debian 4.6.1-15) 4.6.1, 64-bit AMD Phenom(tm) II X4 955 3210.863 Hz / 4 Гб RAM. оптимизировать не пытался, просто переписал на постгресовый PL/pgSQL shared_buffers = 240MB temp_buffers = 180MB work_mem = 128MB maintenance_work_mem = 316MB synchronous_commit = off effective_cache_size = 1528MB constraint_exclusion = on Код: 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.
Код: 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.
35 секунд. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2011, 12:21 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
select count(*) перед функцией а не после %) ну ладно... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2011, 12:28 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
микрон, проверил на работе на SA10. Результат 36 сек с round против 30сек с truncnum() 15-20 прирост на ровном месте.. :) дрючте сайбезовый саппорт.. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2011, 15:09 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
Сделал вариант MyTest() с использованием прямого доступа вместо SQL. Скорость возросла на порядок. SQL и NoSQL вариантыClass del.t2 Extends %Persistent { Parameter SQLTABLETYPE = "GLOBAL TEMPORARY"; Property c1 As %Integer; Property c2 As %Integer; Property c3 As %Integer; } Class del.t1 Extends %Persistent { Index i1 On (c1, c3, c2); Property c1 As %Integer; Property c2 As %Integer; Property c3 As %Integer; Property c4 As %Integer; ClassMethod Fill() { set time=$zhorolog &sql(truncate table del.t1) for i=1:1:1000 { for j=1:1:20 { set c2=$random(1000) set c3=$random(1000) &sql(insert into del.t1(c1,c2,c3,c4) values(:i,:c2,:c3,:j)) } } write "time=",$zhorolog-time," s.",! } ClassMethod MyTest() { set time=$zhorolog &sql(truncate table del.t2) set p=$random(1000) for i=1:1:1000000 { set j=$random(1000) lblEachT &sql(declare c cursor for select top 10 c2 from del.t1 where c1 = :p order by abs(c3 - :j) desc for read only) &sql(open c) for { &sql(fetch c into :curC2) quit:SQLCODE &sql(insert into del.t2(c1,c2,c3) values(:p,:curC2,:j)) if p'=curC2 { set p=curC2 if $random(1000000)>400000 { &sql(close c) goto lblEachT } } } &sql(close c) } write "time=",$zhorolog-time," s.",! &sql(select count(*) into :count from del.t2) write "count=",count,! } ClassMethod MyTestDirect() { set time=$zhorolog kill ^||del.t2D set id=0 set p=$random(1000) for i=1:1:1000000 { set j=$random(1000) lblEachT continue:$data(^del.t1I("i1",p))=0 set q=$query(^del.t1I("i1",p,"")) kill ^||a for k=1:1:20 { set ^||a(-$zabs($qsubscript(q,3)-j),$qsubscript(q,4),k)="" set q=$query(@q) } set q=$query(^||a("")) for k=1:1:10 { set curC2=$qsubscript(q,2) set id=id+1 set ^||del.t2D(id)=$listbuild("",p,curC2,j) if p'=curC2 { set p=curC2 goto:$random(1000000)>400000 lblEachT } set q=$query(@q) } } set ^||del.t2D=id write "time=",$zhorolog-time," s.",! &sql(select count(*) into :count from del.t2) write "count=",count,! } } Код: plaintext 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2011, 17:13 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
Бред какой-то. mikronНа практике имеется приложение где вся логика в процедурах, и один вызов процедуры приводик к выполению ~10000 легковесных запросов и ~ 1000 инсертов/делитов из временных таблиц. Если мы говорим о простейших select * from table1 where id = N или о инсертах без условий, то не имеет значения какая из промышленных СУБД стоит - все будет упираться в железо, точнее даже в диски. Ибо оптимизировать тут нечего. Возможно, есть какие-то специализированные базы, специально заточенные именно под забрасывание инсертами, не слышал. Если мы говорим о скорости выполнения логики, по которой выбираются эти простейшие селекты/инсерты, то у каждой большой СУБД есть огромное количество своих трюков и приемов, позволяющих оптимизировать эту логику. И сказать априори, что мол Оракл логику отработает быстрее MSSQL может только неумный человек. Какую логику? Если посмотреть на ваш пример, то из него можно легко выделить три условные части, которые могут грузить - тот самый инсерт. Который везде будет более-менее одинаков, см. выше. - рандом. который относит. тяжелая функция. Теоретически, реализация по скорости может отличаться на разных СУБД, но практически я не думаю что это так. - арифметические операции. Поверьте мне, скорость сложения двух чисел на порядок больше зависит от процессора, чем от СУБД. Давно все уже вышли из детских садов. Т.е. чисто теоретически, на этом примере смена СУБД с ASA на любую другую прироста скорости вам не даст. А чисто практически - это даст вам траты на смену СУБД, трудозатраты на освоение, на переделку приложения, оптимизацию и т.п., на порядок дороже оптимизации и смены архитектуры существующего приложения. Ну что сказать, тоже развлекуха. Кстати, @j в order by abs(c3 - @j) desc совершенно бессмысленна. [quote А может действительно лутше новую? Кто сказал что в охлаждаёшей жидкости дело? А может масло стало в систему охлаждения гнать? А может я на машине стал прицепы тяжёлые таскать, и всё с полной нагрузкой. А может мне вобще самосвал нужен а не пежо 106.[/quote] Очень хорошие вопросы. А вы их кому задаете? Вы думаете, на форуме лучше знают, какая у вас машина и что на ней вы таскаете? Дык, пока из ваших постов и не видно что вы тяжелые прицепы таскаете. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2011, 17:13 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
aagКстати, @j в order by abs(c3 - @j) desc совершенно бессмысленна.Разве? Дано: idc315210 order by abs(c3-4) desc idc321015 order by abs(c3-40) desc idc315210 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2011, 17:38 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
aagЕсли мы говорим о простейших select * from table1 where id = N или о инсертах без условий, то не имеет значения какая из промышленных СУБД стоит - все будет упираться в железо, точнее даже в диски. Ибо оптимизировать тут нечего. Возможно, есть какие-то специализированные базы, специально заточенные именно под забрасывание инсертами, не слышал. детский сад. штаны на лямках. даже простенькие запросы с фильтром по одному полю могут давать разные планы в плоть до фуллскана. даже на простеньких запросах могут быть не простенькие стратегии размера блока, кеширования и разноски таблиц по именнованным пулам. даже в простеньких запросах могут быть простенькие джоины и огромное поле для тюнинга, начиная с кластерных таблиц ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2011, 17:44 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
Yo.!aagЕсли мы говорим о простейших select * from table1 where id = N или о инсертах без условий, то не имеет значения какая из промышленных СУБД стоит - все будет упираться в железо, точнее даже в диски. Ибо оптимизировать тут нечего. Возможно, есть какие-то специализированные базы, специально заточенные именно под забрасывание инсертами, не слышал. детский сад. штаны на лямках. даже простенькие запросы с фильтром по одному полю могут давать разные планы в плоть до фуллскана. даже на простеньких запросах могут быть не простенькие стратегии размера блока, кеширования и разноски таблиц по именнованным пулам. даже в простеньких запросах могут быть простенькие джоины и огромное поле для тюнинга, начиная с кластерных таблиц Ещё забыл различные типы индексов, секционирование, матвью и оракл дата машина. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2011, 18:32 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
servitaagКстати, @j в order by abs(c3 - @j) desc совершенно бессмысленна.Разве? Дано: idc315210 order by abs(c3-4) desc idc321015 order by abs(c3-40) desc idc315210 Ой. Я наверно что-то не понял. Каким образом у вас меняется порядок сортировки от уменьшения на константу всех значений по которым сортируем? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2011, 10:42 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
Yo.!aagЕсли мы говорим о простейших select * from table1 where id = N или о инсертах без условий, то не имеет значения какая из промышленных СУБД стоит - все будет упираться в железо, точнее даже в диски. Ибо оптимизировать тут нечего. Возможно, есть какие-то специализированные базы, специально заточенные именно под забрасывание инсертами, не слышал. детский сад. штаны на лямках. даже простенькие запросы с фильтром по одному полю могут давать разные планы в плоть до фуллскана. даже на простеньких запросах могут быть не простенькие стратегии размера блока, кеширования и разноски таблиц по именнованным пулам. даже в простеньких запросах могут быть простенькие джоины и огромное поле для тюнинга, начиная с кластерных таблиц Да уж, действительно детский сад и желание покрасоваться своими знаниями. Специально для таких был приведен пример простенького запроса - без всяких джойнов. И вроде бы у ТС пример есть, но нет. Ну хорошо, поле для тюнинга существует. Вы действительно уверены, что для запроса select * from table1 where id = N, где id = primary key, выбор скажем, между Oracle, MSSQL и ASA даст больший прирост скорости, чем изменение железа? Даже упрощу вопрос специально для вас - вы действительно думаете, что тюнинг существует только у оракла и что в данном конкретном случае его целое поле? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2011, 10:51 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
aagОй. Я наверно что-то не понял. Каким образом у вас меняется порядок сортировки от уменьшения на константу всех значений по которым сортируем?Подробные примеры для Oracle: Код: plaintext 1. 2. 3. 4. 5. 6.
Код: plaintext 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2011, 11:05 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
servitПодробные примеры для Oracle: Упс. abs я в коде проглядел, уж больно вся конструкция надуманной вышла. Ошибся :) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2011, 11:32 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
aagВы действительно уверены, что для запроса select * from table1 where id = N, где id = primary key, выбор скажем, между Oracle, MSSQL и ASA даст больший прирост скорости, чем изменение железа? Даже упрощу вопрос специально для вас - вы действительно думаете, что тюнинг существует только у оракла и что в данном конкретном случае его целое поле? я уверен, что на одинаковом железе даже на запросах по примарному ключу в оракле можно будет получить заметную разницу на фоне других взрослых субд. за счет размера блока, за счет партитионинга и глобального индекса, за счет именованных пулов, MTS режима и много другого. субд это не пара строк кода которая по ключу достанет значение, там все гораздо сложнее, чем вы себе представляете (если судить по вашим заявлениям). ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2011, 16:32 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
ТС судя по всему пропал и тема ему уже не интересна, так что обсуждать абстракную крутоту оракла в вакууме видать уже нет смысла. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2011, 16:43 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
Yo.!я уверен, что на одинаковом железе даже на запросах по примарному ключу в оракле можно будет получить заметную разницу на фоне других взрослых субд. за счет размера блока, за счет партитионинга и глобального индекса, за счет именованных пулов, MTS режима и много другого. субд это не пара строк кода которая по ключу достанет значение, там все гораздо сложнее, чем вы себе представляете (если судить по вашим заявлениям). Чем бы ее померять еще... Код: plaintext
Код: plaintext 1. 2. 3.
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
Код: plaintext 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2011, 17:33 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
Ggg_old, Интересна и не сильно актуальна, и пока нет времени на тесты/ответы. Но я слежу. Каше пока впереди. За ним АСА, Постгрес. Очень хотел бы увидать результаты для МС СКЛ, оракла и информикса. Оракл у меня есть под рукой, но честного сравнения не получится - железо не то. П.С. роунд только для тест сценария. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2011, 17:33 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
Повторюсь: очень хотел бы увидать результаты для Информикса. Есть смутные подозрения на его счёт, но я уже давно не пользовал. Ну и ДБ2 конечно тоже не плохо бы. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2011, 17:41 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
Yo.!aagВы действительно уверены, что для запроса select * from table1 where id = N, где id = primary key, выбор скажем, между Oracle, MSSQL и ASA даст больший прирост скорости, чем изменение железа? Даже упрощу вопрос специально для вас - вы действительно думаете, что тюнинг существует только у оракла и что в данном конкретном случае его целое поле? я уверен, что на одинаковом железе даже на запросах по примарному ключу в оракле можно будет получить заметную разницу на фоне других взрослых субд. за счет размера блока, за счет партитионинга и глобального индекса, за счет именованных пулов, MTS режима и много другого. субд это не пара строк кода которая по ключу достанет значение, там все гораздо сложнее, чем вы себе представляете (если судить по вашим заявлениям). Ну разумеется, партиционирование есть ведь только у оракла. И оно сильно поможет для таблички в пару тысяч строк. :) Yo.! открыл для себя сложность Оракла и охотно делится этой радостью с окружающими... Пройдет немного времени и он узнает для себя, что другие взрослые СУБД также имеют много гитик, услышит про TPC, потом подрастет и поймет почему взрослые люди не сравнивают скорости разных СУБД. А пока -полноте, Yo.! успокойся! Конечно, мы знаем, что самая-самая лучшая, самая быстрая и единственная СУБД это Оракл. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2011, 17:50 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
mikronGgg_old, Очень хотел бы увидать результаты для МС СКЛ, оракла и информикса. Оракл у меня есть под рукой, но честного сравнения не получится - железо не то. Дык, я честно просто не понимаю, а что вам дадут эти результаты. Для сравнения их нужно получать в равных условиях, например, поставить на одну машину и Oracle, и МSSQL. Ну допустим, у меня дома они стоят, но дома у меня обычный домашний десктоп (с IDE диском) - ни разу не похожий на сервер. Вы так уверены, что результаты и на настоящем сервере не поменяются? Ну или даже - допустим, у кого-то найдутся два одинаковых по мощности настоящих сервера, он прогонит ваш скрипт. Этот скрипт у вас единственный? Других примеров нет? И последнее, самое важное. Допустим, вы определите для себя что СУБД "О" (Yo.! привет!) быстрее других неназванных СУБД. Дальше что? Выкидываем ASA на помойку, покупаем "О"? Переписываем все приложение? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2011, 17:59 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
pkarklinЧем бы ее померять еще... Ну вот взял и убил всю веру ребенка в единственную СУБД... :) Сейчас скажет, что все было подстроено! ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2011, 18:02 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
aagВы так уверены, что результаты и на настоящем сервере не поменяются? Ну или даже - допустим, у кого-то найдутся два одинаковых по мощности настоящих сервера, он прогонит ваш скрипт. Этот скрипт у вас единственный? Других примеров нет? И последнее, самое важное. Допустим, вы определите для себя что СУБД "О" (Yo.! привет!) быстрее других неназванных СУБД. Дальше что? Выкидываем ASA на помойку, покупаем "О"? Переписываем все приложение? - Уверен, что поменяются. - тест-скрипт единственный. - Примеров чего? - А дальше не ваша забота. Вы не владеете ситиацией целиком, а мне советы доморощенных консультантов-любителей не интересны. Оффтоп. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2011, 18:31 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
mikron- А дальше не ваша забота. Вы не владеете ситиацией целиком, Ну так опишите ситуацию более полно. Например "будут выделены деньги на покупку новой СУБД, их надо усвоить, иначе пропадут", или что там у вас. Здесь люди понятливые, поймут. И тогда у вас больше шансов получить устраивающий вас ответ. А пока что, по первоначальному вопросу, по информации данной вами, большинство склонилось к мнению, что ваш вопрос.... ок, назовем его "некорректен". Между прочим, высокая скорость, с которой вы переходите на личности ("люди не умеющие читать", "не понимающие и в ИТ и в машинах" и т.д., неохота искать ссылки), как и последний перл:mikronа мне советы доморощенных консультантов-любителей не интересны. на вполне справедливые замечания, всего лишь показывает ваш невыский уровень умения общаться, а это тоже не поможет вам получить ответ. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2011, 21:48 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
S.G.Между прочим, высокая скорость, с которой вы переходите на личности ("люди не умеющие читать", "не понимающие и в ИТ и в машинах" и т.д., неохота искать ссылки), как и последний перл:mikronа мне советы доморощенных консультантов-любителей не интересны. на вполне справедливые замечания, всего лишь показывает ваш невыский уровень умения общаться, а это тоже не поможет вам получить ответ. А вы поищите, и может заметите что я только "огрызался" в ответ: - один ответил в стиле "для дураков пример на пальцах (машинах)" - другой в стиле "вы похоже на обезяну с микроскопом" - третий - внимайте, я научу вас правильно жить. Это не професионально. Возможно я резко указываю на это, но примите в оправдание: не я начинал, я никого не хотел задеть лично а только показать неуместность некоторых высказываний. mikronА дальше не ваша забота. Вы не владеете ситиацией целиком... Резко, но разве это не правда или не справедливо? И ненадо грязных фантазий. Вопрос я сформулировал как смог, если вопрос не коректен - постараюсь уточнить. А допридумывать проблемы и расказывать как их успешно решать нестоит. Плохой признак. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2011, 00:13 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
Тест для Оракла. Резултат не вепчатлил - 57 секунд. Наверно надо лутше переписать тест. Надеюсь, Ёо сечас сразу скажет чего не так :) Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2011, 13:55 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
mikronТест для Оракла. Резултат не вепчатлил - 57 секунд. Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bi PL/SQL Release 10.2.0.3.0 - Production "CORE 10.2.0.3.0 Production" TNS for Solaris: Version 10.2.0.3.0 - Production NLSRTL Version 10.2.0.3.0 - Production Пожалуста проверте кто-нибудь на 11г ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2011, 14:22 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
mikronТест для Оракла. Резултат не вепчатлил - 57 секунд. Наверно надо лутше переписать тест. Надеюсь, Ёо сечас сразу скажет чего не так :) Код: 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.
Откройте для себя массивы/коллекции и блочные операции. Да и - вот такие вот всяикие abs(c3 - v_j) desc, exit when DBMS_RANDOM.VALUE() > 0.4;, while v_i > 0 loop и блабла бла - признак что вы очень мсскуель хардкодер ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2011, 14:28 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
DeathHandОткройте для себя массивы/коллекции и блочные операции. Да и - вот такие вот всяикие abs(c3 - v_j) desc, exit when DBMS_RANDOM.VALUE() > 0.4;, while v_i > 0 loop и блабла бла - признак что вы очень мсскуель хардкодер Не понял. Покажите, как надо переписать тест., что бы лолучить справедливый результат. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2011, 14:36 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
mikronDeathHandОткройте для себя массивы/коллекции и блочные операции. Да и - вот такие вот всяикие abs(c3 - v_j) desc, exit when DBMS_RANDOM.VALUE() > 0.4;, while v_i > 0 loop и блабла бла - признак что вы очень мсскуель хардкодер Не понял. Покажите, как надо переписать тест., что бы лолучить справедливый результат. Долго объяснять придется. Конкретно в вашем примере время теряется на переключение контекстов PL/SQL / SQL И да, в отношении шустрости по хранимым процедурам (что бы это не значило) тест совершенно несостоятелен ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2011, 14:41 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
Gluk (Kazan)Конкретно в вашем примере время теряется на переключение контекстов PL/SQL / SQL Ну, это Вы приувеличиваете, конечно. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2011, 15:55 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
Gluk (Kazan), Можно и без обьяснеий. Просто покажите как написать тест, выполняющий те-же действия. Тест емулирует поиск по ориентированному графу с оценкой стоимости. Таблица описывает дуги графа из С1 в С2 со стоимостью С3. Кто тут заявлял с высокой трибуны о никчёмности теста и о ~одинаковых резулататах для всех баз - ау. Коментарии будут? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2011, 15:56 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
mikronчто бы лолучить справедливый результат. Справедливость результата. Вообще, когда Вы что-то меряете, Вы сравниваете. Длинну чего-то с линейкой (эталоном в данном случае). С чем будем сравнивать? Что будем сравнивать? Что мы можем сравнить такое, что еще не сравнивалось? http://www.mssqlcity.com/Articles/Compare/sql_server_vs_oracle.htm Однозначно и не осопримо: Оракл лучшая субд в мире для систем, с большой конкуренцией за данные. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2011, 15:59 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
mikronТест емулирует поиск по ориентированному графу с оценкой стоимости. Оракл это и без Вас делает при сканировании индексов. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2011, 16:00 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
mikronКоментарии будут? Покажите результат с нативным компилятором. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2011, 16:03 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
mikronGluk (Kazan), Можно и без обьяснеий. Просто покажите как написать тест, выполняющий те-же действия. Если вас действительно интересует, как оптимально выполнять такую вставку в Oracle, направление вам дали (коллекции и bulk-операции), думаю, ваши 57 секунд легко превратятся в пару секунд, возможно меньше. Писать код за вас особого смысла не вижу (равно как и в самом сравнении). Вас устраивает производительность Cache? Нет проблем, берите и пользуйтесь ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2011, 16:07 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
mikron- Уверен, что поменяются. - тест-скрипт единственный. - Примеров чего? - А дальше не ваша забота. Вы не владеете ситиацией целиком, а мне советы доморощенных консультантов-любителей не интересны. Оффтоп. Понятно, уязвленное самолюбие и попранная гордость. Хотя если бы вы читали внимательнее, то могли бы заметить что никаких советов я и не давал. А лишь задавал вопросы. С другой стороны, если вы настолько профессиональны, зачем писать на форум? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2011, 16:13 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
Gluk (Kazan)И да, в отношении шустрости по хранимым процедурам (что бы это не значило) тест совершенно несостоятелен Особенно потому что их там нет вообще :) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2011, 16:34 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
aagmikronaagДопустим, вы определите для себя что СУБД "О" (Yo.! привет!) быстрее других неназванных СУБД. Дальше что? Выкидываем ASA на помойку, покупаем "О"? Переписываем все приложение? - А дальше не ваша забота. Вы не владеете ситиацией целиком, а мне советы доморощенных консультантов-любителей не интересны. Оффтоп. Понятно, уязвленное самолюбие и попранная гордость. Хотя если бы вы читали внимательнее, то могли бы заметить что никаких советов я и не давал. А лишь задавал вопросы. С другой стороны, если вы настолько профессиональны, зачем писать на форум? Согласен, советов напрямую вы не давали. Вы намекали, что смысла в сравнении нет. Вообще. Вам конечно с вашей колоколни виднее. И на форум я пишу, потому не самолюбив и знаю что тут полно людей, которые знают лутше чем я. П.С. не льстите себе. По крайнер мере 4 ваших утверждения только в этом топике былы опровергнуты. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2011, 16:40 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
DeathHandmikronТест емулирует поиск по ориентированному графу с оценкой стоимости. Оракл это и без Вас делает при сканировании индексов. К чему это? Причём тут вобще "сканирование индексов"? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2011, 16:43 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
mikron, Вам тут уже несколько раз намекнули. Будьте проще... сядьте на пол. Просто со своим скриптом вы не то, что бы не попали... Вы не попали в шарик. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2011, 20:58 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
mikronИ на форум я пишу, потому не самолюбив и знаю что тут полно людей, которые знают лутше чем я . Вы не поверите даже на сколько... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2011, 21:00 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
mikronКто тут заявлял с высокой трибуны о никчёмности теста и о ~одинаковых резулататах для всех баз - ау. Коментарии будут? Ваш тест порвать (на всяких там кашЭ) на DL 980? Аууууу? Денег на него хватит??? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2011, 21:18 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
pkarklinВаш тест порвать (на всяких там кашЭ) на DL 980? Аууууу? Что значит "мой тест" в контексте не понял. Непременно. Факты лутше чем домыслы и голословные утверждения. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2011, 21:44 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
mikron, "Ваш тест" - это вот тот говнокод, который вы привели. Мерять то Вы что им собрались? авторФакты лутше HP Proliant DL 980 G7, 80 Core, 2 Tb, MS SQL 2008 R2 Enterprise Edition, HP EVA 168 HDD RAID 10. 1, 25 с. Вопросы? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2011, 22:15 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
mikron Причём тут вобще "сканирование индексов"? При том, что Вы не отдаете себе отчет о требующихся уровнях абстракции для решения конкретных задач. Я просто к тому, что Вашу задачу Оракл делает на одном из самых быстрых уровнях в мире. А что Вы там накодили - собственно, плевать. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2011, 00:03 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
pkarklinHP Proliant DL 980 G7, 80 Core, 2 Tb, MS SQL 2008 R2 Enterprise Edition, HP EVA 168 HDD RAID 10. 1, 25 с. Хорошая тачка :) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2011, 00:07 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
pkarklinHP Proliant DL 980 G7, 80 Core, 2 Tb, MS SQL 2008 R2 Enterprise Edition, HP EVA 168 HDD RAID 10. 1, 25 с. Вопросы? результат вызывает сомнения. Вы что тестировали? Покажите код теста, что бы можно было проверить результат. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2011, 17:44 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
DeathHandmikron Причём тут вобще "сканирование индексов"? При том, что Вы не отдаете себе отчет о требующихся уровнях абстракции для решения конкретных задач. Я просто к тому, что Вашу задачу Оракл делает на одном из самых быстрых уровнях в мире. А что Вы там накодили - собственно, плевать. Я рад зашлушать специалиста. Какой нужен уровень абстракциии для решения конкретной задачи - поска по ориентированному графу? Вы не предложите своё решение? оценим ваш код. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2011, 17:48 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
mikronDeathHandпропущено... При том, что Вы не отдаете себе отчет о требующихся уровнях абстракции для решения конкретных задач. Я просто к тому, что Вашу задачу Оракл делает на одном из самых быстрых уровнях в мире. А что Вы там накодили - собственно, плевать. Я рад зашлушать специалиста. Какой нужен уровень абстракциии для решения конкретной задачи - поска по ориентированному графу? Вы не предложите своё решение? оценим ваш код. Я говорю Вам о том, что данная задача - решена недрами СУБД при чтении индексов. На более абстрактных T-SQL, PL/SQL, PL-pg-sql данная задача не может быть решена оптимально к примеру - по времени. Последние предназначены для Расширения SQL - читать как для расширения DML-DDL, что в в свою очередь читать как "расширенные возможности по созданию и модификации данных". Нужно чето "посчитать" - пользуйте С, С++, асму. Оракл имеет функционал для этого. Pro*C как пример. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2011, 18:04 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
mikronКакой нужен уровень абстракциии для решения конкретной задачи - поска по ориентированному графу? Поиска чего? Кратчайшего пути? Медианы? Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2011, 19:03 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
mikronрезультат вызывает сомнения Это Ваше право... Сомневаться.. mikronВы что тестировали? Покажите код теста, что бы можно было проверить результат. Я что то не до понял, кто кого собрался проверять? Свой код покажите... Под MS SQL. И характеристики железа. Свои я привел. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2011, 20:01 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
DeathHandЯ говорю Вам о том, что данная задача - решена недрами СУБД при чтении индексов. На более абстрактных T-SQL, PL/SQL, PL-pg-sql данная задача не может быть решена оптимально к примеру - по времени. Последние предназначены для Расширения SQL - читать как для расширения DML-DDL, что в в свою очередь читать как "расширенные возможности по созданию и модификации данных". Нужно чето "посчитать" - пользуйте С, С++, асму. Оракл имеет функционал для этого. Pro*C как пример. Перефразируя ваш ответ: оракл в поставленных условиях неконкурентноспособен. Если исползовать оракл, то придётдя исползовать связку с С/С++. А лутше вобше не исползовать оракл а считать всё внешними програмами. Достойный ответ на вопос, какая ДБМС лутше для .... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2011, 20:58 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovmikronКакой нужен уровень абстракциии для решения конкретной задачи - поска по ориентированному графу? Поиска чего? Кратчайшего пути? Медианы? Пусть будет кратчаяший путь. Это влият на уровень абстраккции? И какой теперь уровен абстракции требуется? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2011, 21:02 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
pkarklinЯ что то не до понял, кто кого собрался проверять? Свой код покажите... Под MS SQL. И характеристики железа. Свои я привел. Я под МССКЛ не умею, а под АСА и оракл уже показал. Вы же протестировали и получили сногсшибательный резултат, так в чём проблема? покажите ваш тест, научите, как это делают спецалисты такого класса. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2011, 21:11 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
mikronПусть будет кратчаяший путь. Это влият на уровень абстраккции? Да. Для поиска кратчайшего пути есть вполне конкретная кляуза connect by . И не надо извращаться с ХП. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2011, 21:13 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovmikronПусть будет кратчаяший путь. Это влият на уровень абстраккции? Да. Для поиска кратчайшего пути есть вполне конкретная кляуза connect by . И не надо извращаться с ХП. Прекрасно. Иммем таблицу которая содержит дуги графа. С1 - начальная точка, С2 - конечная точка, Ф(С3) - длина дуги. Не могли бы вы привести пример кода, который исползует указанную конструкцию для поиска минималной длины. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2011, 21:23 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
я в шоке. микрон написал вполне конкретный тест, который он попросил прогнать на разных серверах. Тест очень специфичный и очень заточен под его, микрона, задачи. Какого фига тут умничают и учат его жизни. Хотите помочь, перепешите тест на свой серевер и запустите. Млин. Обиженные ораклоиды уже достали. А пока, каша показала себя лучшей на это задаче. Микрон , мне показалось очень странным, что операция округления занимает аж четверть процентов от общего времени. Как по мне, сложность это операции просто не сравнима по сложности вычислений с динамическим селектом. Я ожидал, что там будет от силы 1% но не как не столько много. Что-то тут не так, результат не коррелирует с реальностью. Есть предложение, дополнить вопрос на сайбезовом форуме и спросить - а фигли так? Просто твой инглиш не чета моему. Шо домаешь? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2011, 21:30 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
Ggg_oldзаточен под его, микрона, задачи Не "его задачи", а "его решение его задач". Если он предпочитает кривую ХП простому запросу... Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2011, 22:03 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
Дмитрий, не нам решать за кривизну его вопроса. Он же сам написал, что тест у него синтетический, но характеризует его задачу. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2011, 22:52 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
Ggg_oldОн же сам написал, что тест у него синтетический, но характеризует его задачу. Повторяю ещё раз, медленно: он характеризует не задачу, а его решение. Вероятно - кривое решение. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2011, 22:56 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
Ggg_oldДмитрий, не нам решать за кривизну его вопроса. Он же сам написал, что тест у него синтетический, но характеризует его задачу. издеваешься ? Код: plaintext 1.
в реальной задачи у него будет простенький джоин с Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2011, 22:59 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
mikronВот попытался изобразить основной паттерн использования для Сайбейс АСА. Давате мерятся, кто быстрее. На АСА-12 25 секунд. Код: plaintext 1. 2. 3.
Впрочем, вот для Firebird 2.5 (под Win32), на старой рабочей станции P-IV 2.4MHZ c _наимерзейшим_ HDD и намеренно оставленным дефолтным Forced Writes = ON. Только кеш на коннект сделал 32 Mb (DefaultDBCache = 8192 вместо 75 страниц). DDL: Код: 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.
(стабильно ~27 sec) Код: 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. 97. 98. 99. 100. 101.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2011, 00:27 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
servitСделал вариант MyTest() с использованием прямого доступа вместо SQL. Скорость возросла на порядок. TEST>do ##class(del.t1).MyTestDirect() time=1.167889 s. count=5636И конечно, при этом обеспечивается ACID, да ? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2011, 00:29 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovGgg_oldОн же сам написал, что тест у него синтетический, но характеризует его задачу. Повторяю ещё раз, медленно: он характеризует не задачу, а его решение. Вероятно - кривое решение. Пусть будет кривое решение. Если бы сияние вашего нимба и не заслоняло небесную сферу то можно было-бы заметит звёзды. - вставка на оракле не играет большого значения на скорость. достаточно закомментировать в тесте инсерте. - рекурсивный селект есть и в АСА. будь он применим, тест был бы другой. - немного теории: алгортмы поиска по графу. вы покажете пример weighted A* реализовынай рекурсивным селектом? (Его особенность, заклёчается в том, что поиск ведётся не строго в глубину по графуа в зависимости от наибольшего веса. т.е. может быть сначала джоин с уровня 10, потом с уровня 5, затем с уровня 8, затем опять с 5) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2011, 13:46 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
ТаблоидНе понимаю, как вы хотите интерпретировать результаты: этот тест будет на каждом новом запуске вставлять разные числа строк в GTT `t2`. Закон больших чисел. Тест выполняется достаточно большое кол-во раз. К тому-же как вы заметили, кол-во вставок не велико, размер записи тоже маленкий, и коммита нет. Спасибо за тест. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2011, 13:54 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
Сколько раз вы запускали свой тест ? И еще: mikronи коммита нет.- я как раз использовал коммит для очистки GTT. Правильно ли понимаю, что вы всё время добавляли новые данные в GTT'шку, а старые данные удаляли БЕЗ коммита ? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2011, 14:04 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
ТаблоидservitСделал вариант MyTest() с использованием прямого доступа вместо SQL. Скорость возросла на порядок. TEST>do ##class(del.t1).MyTestDirect() time=1.167889 s. count=5636И конечно, при этом обеспечивается ACID, да ? Да, при прямом доступе поддержка ACID является одной из характеристик ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2011, 09:56 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
Подскажите глупому человеку, эту конструкцию mikron Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2011, 10:49 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
servitТаблоидпропущено... И конечно, при этом обеспечивается ACID, да ? Да, при прямом доступе поддержка ACID является одной из характеристик globals featuresBy using the various Cache' locking operations in conjunction with transactions, you can perform traditional ACID transactions using globals. <...> When using Object or SQ L access, transactions are handled automatically. Насколько я понимаю, при прямом доступе к глобалам обеспечить ACID можно, только заблокировав их. И не только от записи, но и от чтения, иначе dirty read. Далее, вот фрагменты из вашего теста: #1. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
#2 Код: 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.
Кроме того, здесь предварительно отключено журналирование. А также нет тех самых "locking operations", которые и должны обеспечить ACID. Поэтому и такая скорость (TEST>do ##class(del.t1).FillDirect() time=.075046 s.). А вот метод MyTest() уже вполне корректен. И скорость у него тоже адекватная - 13 сек. ЗЫ. Кстати: на какой машине это выполнялось ? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2011, 12:17 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
Таблоид , Как видно, код автора состоит из двух частей: заполнение таблицы исходными данными; собственно сама процедура my_test, которую автору и было интересно проверить для разных СУБД.ТаблоидЗачем ниже добавлена статистика по вызову только этого метода (TEST>do ##class(del.t1).Fill() time=.998096 s.) ?Цифры для первого этапа приведены были для полноты картины. Таблоидздесь также только загрузка 20\'000 строк в глобал, но где основной цикл, в идёт котором "перекачка" данных во времянку ?Это происходит в методах MyTest() и MyTestDirect(). Метод FillDirect() приведён был лишь для сравнения с Fill(). ТаблоидЗЫ. Кстати: на какой машине это выполнялось ?Приводилось. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2011, 13:29 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
servitЭто происходит в методах MyTest() и MyTestDirect().а, понятно: я не увидел тогда MyTestDirect. Так вопрос остается: как при работе этого MyTestDirect обеспечить: 1) чтобы разные коннекты писали данные в свои глобалы-"времянки" (аналоги GTT'шек в SQL), с полной невидимостью данных этих времянок для других коннектов ? 2) чтобы коннект_1 в процессе переносе данных из глобала t1 в t2 не видел изменений, которые в этом глобале происходят благодаря действиям других коннектов (также прямым доступом обращающихся к t1) ? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2011, 16:29 |
|
какая ДБМС самая "шустрая" для выполнения хранимых процедур?
|
|||
---|---|---|---|
#18+
Таблоид1) чтобы разные коннекты писали данные в свои глобалы-"времянки" (аналоги GTT'шек в SQL), с полной невидимостью данных этих времянок для других коннектов ?Уже обеспечивается. GTT в СУБД Caché основывается на Process-private Globals Таблоид2) чтобы коннект_1 в процессе переносе данных из глобала t1 в t2 не видел изменений, которые в этом глобале происходят благодаря действиям других коннектов (также прямым доступом обращающихся к t1) ?Используя блокировки , транзакции и другие команды. Подробнее в Transaction Processing ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2011, 10:29 |
|
|
start [/forum/topic.php?all=1&fid=35&tid=1552619]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
137ms |
get tp. blocked users: |
1ms |
others: | 234ms |
total: | 451ms |
0 / 0 |