powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Медленный Oracle и быстрый MS SQL
25 сообщений из 44, страница 1 из 2
Медленный Oracle и быстрый MS SQL
    #39093454
ulvrid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую всех.

Есть такая задача: реализовать дерево каталогов и файлов средствами реляционной субд.
Соответственно имеем таблицу каталогов с внешним ключом на себя же, таблицу файлов с внешним ключом на таблицу каталогов, всё стандартно.
Реализуем на Oracle, точно также, с такой же структурой таблиц, реализуем MS SQL, делаем однотипные индексы
Хранимки немного отличаются ввиду различий PL-SQL и T-SQL

Далее, пишем программулину на C#, которая в 300-400 параллельных потоках активно создаёт каталоги, файлы, обновляет, удаляет, считывает их.
Для MS SQL - всё очень шустро, файлы кладутся в базу быстро, быстро считываются - и список, и содержимое. Используется стандартный System.Data.SqlClient.
Для Oracle - тупой запрос на получение списка файлов в каталоге(выборка возвращает не более 10 записей) может занимать сотни миллисекунд.
Если снизить число потоков до 5-10 то всё становится приемлемо, но при большом количестве одновременных обращений к БД резко падает производительность. Используется официальный ODP.NET

Оба сервера на одном компе - i5, 4гб оперативы, windows 7. MS SQL Express 2014 и Oracle 12c Standard, обращение по TCP из 100 мбит локалки.
Хотелось бы понять данный феномен. Заказчик очень хочет использовать Oracle.
...
Рейтинг: 0 / 0
Медленный Oracle и быстрый MS SQL
    #39093476
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ulvrid,

может Вам в форум по Ораклу лучше? скорее всего вопрос какими-то настройками решается
...
Рейтинг: 0 / 0
Медленный Oracle и быстрый MS SQL
    #39093855
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ulvridДля Oracle - тупой запрос на получение списка файлов в каталоге(выборка возвращает не более 10 записей) может занимать сотни миллисекунд.


Несколько сотел милисекунд для запроса -- это нормально.
А дальше -- всё зависит от того, какой запрос, какие таблицы, какие данные и т.д.
Вот с этим тебе и нужно разбираться.
Планы смотреть...
...
Рейтинг: 0 / 0
Медленный Oracle и быстрый MS SQL
    #39094091
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSuperulvrid,

может Вам в форум по Ораклу лучше? скорее всего вопрос какими-то настройками решается

Посмотрел соотвествующий тред. А пример то показательный. Оба продукта "из коробки", задача проста до безобразия, ан нет, в одном случае всё работает из коробки, в другом нужны танцы с бубном.
...
Рейтинг: 0 / 0
Медленный Oracle и быстрый MS SQL
    #39094102
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinА пример то показательный.
Угу, отлично показывает, что мелкомягкие продукты ни с чем кроме самих себя не дружат от
слова "вообще".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Медленный Oracle и быстрый MS SQL
    #39094104
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ulvrid,

О оракла медленный парсинг, по сравнению с ms sql. Это всем известно. Первое - нужно использовать "bind variables".
...
Рейтинг: 0 / 0
Медленный Oracle и быстрый MS SQL
    #39094108
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pkarklinПосмотрел соотвествующий тред. А пример то показательный. Оба продукта "из коробки", задача проста до безобразия, ан нет, в одном случае всё работает из коробки, в другом нужны танцы с бубном.
да, оракл у не тот. в мое время студенты с гвоноподелками под винду просто не осиливали инсталяцию оракла.
но в чем вызывает уважение винвовс мир - стабильностью. студенты стабильно выбирают винду и odbc.
...
Рейтинг: 0 / 0
Медленный Oracle и быстрый MS SQL
    #39094109
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovpkarklinА пример то показательный.
Угу, отлично показывает, что мелкомягкие продукты ни с чем кроме самих себя не дружат от
слова "вообще".


Готов принять участие в тестировании? Начнем с этого:

Dimitry Sibiryakov"Я вам не скажу за всю Одессу", но именно с С интерфейсом (ODBC) он тормозит как последний
слоупок.

ЗЫ. Осмелюсь только напомнить, что ODBC - разработанный фирмой Microsoft, в сотрудничестве с Simba Technologies на основе спецификаций Call Level Interface (CLI), который разрабатывался организациями SQL Access Group, X/Open и Microsoft.

ЗЫЗЫ. А теперь можно приводить тест кейсы...
...
Рейтинг: 0 / 0
Медленный Oracle и быстрый MS SQL
    #39094110
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Relic HunterО оракла медленный парсинг, по сравнению с ms sql. Это всем известно. Первое - нужно использовать "bind variables".
я ставлю на коннекшен пул, он просто задолбал оракл кол-вом коннекций которые заметно дольше мсскл инициализируются
...
Рейтинг: 0 / 0
Медленный Oracle и быстрый MS SQL
    #39094111
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!Relic HunterО оракла медленный парсинг, по сравнению с ms sql. Это всем известно. Первое - нужно использовать "bind variables".
я ставлю на коннекшен пул, он просто задолбал оракл кол-вом коннекций которые заметно дольше мсскл инициализируютсяконнекшен пул может быть пре-инициализированным. разницы быть не должно.
...
Рейтинг: 0 / 0
Медленный Oracle и быстрый MS SQL
    #39094112
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Relic Hunterulvrid,

О оракла медленный парсинг, по сравнению с ms sql. Это всем известно. Первое - нужно использовать "bind variables".

ТС как бы хранимки юзает. Чего там парсить?
...
Рейтинг: 0 / 0
Медленный Oracle и быстрый MS SQL
    #39094116
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinRelic Hunterulvrid,

О оракла медленный парсинг, по сравнению с ms sql. Это всем известно. Первое - нужно использовать "bind variables".

ТС как бы хранимки юзает. Чего там парсить?А в хранимках что? :)
...
Рейтинг: 0 / 0
Медленный Oracle и быстрый MS SQL
    #39094117
ungue
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ulvrid,

Ну не работает оно само по себе из коробки. Надо смотреть ожидания.
...
Рейтинг: 0 / 0
Медленный Oracle и быстрый MS SQL
    #39094118
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Relic Hunterpkarklinпропущено...


ТС как бы хранимки юзает. Чего там парсить?А в хранимках что? :)

А что, Oracle и MS SQL парсят хранимку при каждом ее вызове?
...
Рейтинг: 0 / 0
Медленный Oracle и быстрый MS SQL
    #39094120
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinГотов принять участие в тестировании?
Со своей стороны я уже всё оттестировал. Теперь твоя очередь повторять мой эксперимент:
поставить MS SQL Express Edition и просто подключиться к нему из EMS SQL Manager. Потом
расскажи, почему этот процесс занимает почти минуту.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Медленный Oracle и быстрый MS SQL
    #39094123
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!Relic HunterО оракла медленный парсинг, по сравнению с ms sql. Это всем известно. Первое - нужно использовать "bind variables".
я ставлю на коннекшен пул, он просто задолбал оракл кол-вом коннекций которые заметно дольше мсскл инициализируются

Я правильно понимаю, что если я не могу контроллировать количество открытий\закрытий подключений на стороне клиента, то единственный мой путь - это трехзвенка с коннешен пулом на "апп" лайере?
...
Рейтинг: 0 / 0
Медленный Oracle и быстрый MS SQL
    #39094124
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinRelic Hunterпропущено...
А в хранимках что? :)

А что, Oracle и MS SQL парсят хранимку при каждом ее вызове?Парсятся не хранимки, а sql-запросы ее населяющие. Хард парс один раз - для каждого sql-ля если нет в кеше, плюс софт парс - каждый раз, на предмет наличия прав на объекты.
...
Рейтинг: 0 / 0
Медленный Oracle и быстрый MS SQL
    #39094125
ungue
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinYo.!пропущено...

я ставлю на коннекшен пул, он просто задолбал оракл кол-вом коннекций которые заметно дольше мсскл инициализируются

Я правильно понимаю, что если я не могу контроллировать количество открытий\закрытий подключений на стороне клиента, то единственный мой путь - это трехзвенка с коннешен пулом на "апп" лайере?

Нет. Есть настройка.

alter system set dispatchers="(protocol=TCP)(dispatchers=4)(pool=on)(tick=1)(connections=500)(sessions=1000)"
...
Рейтинг: 0 / 0
Медленный Oracle и быстрый MS SQL
    #39094127
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovpkarklinГотов принять участие в тестировании?
Со своей стороны я уже всё оттестировал. Теперь твоя очередь повторять мой эксперимент:
поставить MS SQL Express Edition и просто подключиться к нему из EMS SQL Manager. Потом
расскажи, почему этот процесс занимает почти минуту.


Наверно потому, что кто-то забыл, что в сетевой модель OSI семь уровней. И грех пенять на один уровень, если проблемы на другом. Хотя для тебя достаточно не забывать при локальном подключении указывать LPC: перед именем сервера.

ЗЫ. Нет, ни этого я ждал от тебя. Я ждал, что ты покажешь, как быстро MS SQL выполняет запрос из SQL Server Management Studio, которая использует .NET Framework SqlClient, и как "как слоупок" тормозит утилита командной строки sqlcmd.exe, которая написана на сях и использует ODBC.
...
Рейтинг: 0 / 0
Медленный Oracle и быстрый MS SQL
    #39094128
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Relic Hunterpkarklinпропущено...


А что, Oracle и MS SQL парсят хранимку при каждом ее вызове?Парсятся не хранимки, а sql-запросы ее населяющие. Хард парс один раз - для каждого sql-ля если нет в кеше, плюс софт парс - каждый раз, на предмет наличия прав на объекты.

Т.е. у Oracle проблемы с софт парс (разрешение прав), если мы допустим, что планы всех инструкцией внутри хранимки закэшированы?
...
Рейтинг: 0 / 0
Медленный Oracle и быстрый MS SQL
    #39094131
ungue
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinRelic Hunterпропущено...
Парсятся не хранимки, а sql-запросы ее населяющие. Хард парс один раз - для каждого sql-ля если нет в кеше, плюс софт парс - каждый раз, на предмет наличия прав на объекты.

Т.е. у Oracle проблемы с софт парс (разрешение прав), если мы допустим, что планы всех инструкцией внутри хранимки закэшированы?

У Оракла могут быть любые проблемы. Но все они решаются специальными настройками или выбором специального оборудования. ТС надо смотреть ожидания. И трассировку 12 уровня снять. И обратиться к специалисту.
...
Рейтинг: 0 / 0
Медленный Oracle и быстрый MS SQL
    #39094132
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pkarklinЯ правильно понимаю, что если я не могу контроллировать количество открытий\закрытий подключений на стороне клиента, то единственный мой путь - это трехзвенка с коннешен пулом на "апп" лайере?
нет. можно кол-во диспатчеров поднять, можно коннектится к пулу оракла, можно вообще оракл в режиме MTS запустить.
...
Рейтинг: 0 / 0
Медленный Oracle и быстрый MS SQL
    #39094135
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ungueУ Оракла могут быть любые проблемы. Но все они решаются специальными настройками или выбором специального оборудования. ТС надо смотреть ожидания. И трассировку 12 уровня снять. И обратиться к специалисту.

Т.е. ты констатируешь тот факт, что на простой задаче MS SQL в редакции Express "из коробки" без настроек и специалиста порвал OSE как тузик грелку?
...
Рейтинг: 0 / 0
Медленный Oracle и быстрый MS SQL
    #39094137
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!pkarklinЯ правильно понимаю, что если я не могу контроллировать количество открытий\закрытий подключений на стороне клиента, то единственный мой путь - это трехзвенка с коннешен пулом на "апп" лайере?
нет. можно кол-во диспатчеров поднять, можно коннектится к пулу оракла, можно вообще оракл в режиме MTS запустить.

Ок. Спасибо! Буду знать.
...
Рейтинг: 0 / 0
Медленный Oracle и быстрый MS SQL
    #39094138
ungue
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinungueУ Оракла могут быть любые проблемы. Но все они решаются специальными настройками или выбором специального оборудования. ТС надо смотреть ожидания. И трассировку 12 уровня снять. И обратиться к специалисту.

Т.е. ты констатируешь тот факт, что на простой задаче MS SQL в редакции Express "из коробки" без настроек и специалиста порвал OSE как тузик грелку?

Да, для такой задачи, если не предполагается масштабирования, либо настройки системы, оракл, очевидно избыточен. Используйте MS SQL в редакции Express.
...
Рейтинг: 0 / 0
25 сообщений из 44, страница 1 из 2
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Медленный Oracle и быстрый MS SQL
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]