|
![]() |
#1 |
Administrator
|
Нельзя забывать, что информация о блокируемой записи в SQL Server хранится в памяти, а в Oracle - в самой записи в отдельном поле. И это запатентованная идея. И как бы не пыхтел Микрософт - не догнать ему Оракл в этом плане. Т.е. Оракл на блокировки вообще память не требует - а значит он может ее использовать по другому назначению.
Плюс, в SQL Server реализован "интеллектуальный" построитель плана запросов. Т.е. если программист делает выборку и не создал соответствующий индекс - то SQL Server пытается "догадаться" как строить план запроса. Это ему иногда удается, а иногда не удается. Отловить сию граблю естественно достаточно тяжело. Оракл - он тупой. Нет индекса - full scan. Это дисциплинирует программиста и заставляет при написании выборки сразу задуматься об индексах. Из-за этого тоже возможны проигрыши по производительности (и как следствие блокировок) в SQL Server. Ну конечно - если код написан так, что будет блокировка - тут уже ничего не спасет - блокировка будет ![]()
__________________
Возможно сделать все. Вопрос времени |
|
![]() |
#2 |
Участник
|
В предыдущих версиях Oracle работали два оптимизатора планов выполнения запросов: RBO (оптимизатор базирующийся на правилах) и CBO (стоимостный оптимизатор). RBO использовал правила построения планов, заложенные в него на все предусмотренные случаи. CBO более гибкий. Он анализирует, на основе статистики, стоимость выполнения запроса с индексом и без него. При этом full scan это не тупость, а наилучший план выполнения запроса, а чтобы он выполнялся быстрее, разбейте большую таблицу на несколько физических носителей и используйте параллельное чтение. В последних версиях RBO не используется вовсе.
|
|
![]() |
#3 |
Участник
|
Цитата:
![]() |
|
![]() |
#4 |
Administrator
|
Цитата:
Сообщение от gl00mie
![]() Практика показывает, что Oracle "тупой" немного по-иному
![]() ... Не зная настроек оптимизатора и конкретики собранной им статистики, очень сложно бывает "въехать", какого фига Oracle так тупит. И дисциплинирует это не столько программиста, сколько руководство - в плане того, что надо искать очень дорого Oracle DBA, который бы мог разруливать такие ситуации подкруткой весов различных параметров, используемых оптимизатором запросов, а не тупым прикручиванием outline'ов, которые слетают при любом изменении таблицы/запроса. Тут тяжело сравнивать. Переход с одной БД на другую - нельзя сказать что делается легко и непринужденно. Были проблемы на SQL2000, перешли на Оракл - проблемы исчезли. Редкая тупизна Оракла (в смысле что какие-то запросы редко зависают по непонятным с ходу причинам) ... ну да решается конечно... Пришлось разориться на Oracle DBA. Вышел SQL 2005. Кто даст гарантии, что при переходе с Оракла на 2005 будет все ок? А если опять проблемы возникнут - кто будет в ответе? И каким образом (это ж все деньги)? Лицензии опять-таки (если говорить о легальном использовании софта) не бесплатные (особенно ораклиные) А туда-сюда метаться - тоже никаких денег не хватит ![]()
__________________
Возможно сделать все. Вопрос времени |
|
![]() |
#5 |
Microsoft Dynamics
|
Цитата:
![]() ![]() MS SQL x64 + МНОГО памяти будет дешевле и бескровнее, чем скрещивать трепеную лань с конем. |
|
![]() |
#6 |
Administrator
|
Цитата:
![]() ![]() Но тут в соседней ветке Ромка верно заметил: Цитата:
![]()
__________________
Возможно сделать все. Вопрос времени |
|
![]() |
#7 |
Microsoft Dynamics
|
Цитата:
Я считаю, что на адекватном железе и SQL будет неплохо шевелиться. А если он не шевелится, то миграцией на Oracle положение не спасешь. Возможно не время станет лучше, но в долгосрочной перспективе случится то самое место, из которого у многих руки растут. И вообще, кесарю кесарево, а Аксапте - майкрософтово. Поддержка Oracle в AX сделана чисто для галочки и похоже деградирует. |
|
![]() |
#8 |
MCITP
|
![]() Цитата:
Обоснование звучало примерно так: "Нам не выгодно, чтоб Аксапта с Ораклом работала лучше чем с SQLсервером." Логика железная... Жалко.
__________________
Zhirenkov Vitaly |
|
![]() |
#9 |
Участник
|
Цитата:
Сообщение от gl00mie
![]() Практика показывает, что Oracle "тупой" немного по-иному
![]() |
|
![]() |
#10 |
Участник
|
Цитата:
Сообщение от ring
![]() Оракл хватает не те индексы как раз потому что АКСПАТА по своему усмотрению меняет важные оракловые параметры Axapta 3.0 sp3+oracle 10.2.0.3 optimizer_index_cost_adj
|
|
![]() |
#11 |
Участник
|
Охотно вам верю, но в данном случае запросы проверялись через обычный sqlplus который не меняет умолчательных парметров в сессии и разница очень существенна,больше всего раздражает то что аксапта, впрочем как и многие другие програмные продукты к которым мелкософт приложила свои руки, решает за администартора какие параметры выставлять...имхо бред, поэтому говорить о тонкой настройке БД не приходиться...
|
|