Re: Медленный Oracle и быстрый MS SQL
От: wildwind Россия  
Дата: 03.11.15 15:28
Оценка: +2
Здравствуйте, Ulvrid, Вы писали:

U> Хотелось бы понять данный феномен. Заказчик очень хочет использовать Oracle.


А нанять хорошего DBA он не хочет? Или хотя бы такого, который сможет зайти в Enterprise Manager и увидеть, где узкое место?

Причин может быть несколько. Нужно их находить.
Я привык, что в интернете можно найти ответ на любой вопрос. Я не люблю думать. Зачем думать, если всё уже придумано до меня? © Zenden@RSDN ::: avalon/1.0.442
Медленный Oracle и быстрый MS SQL
От: Ulvrid  
Дата: 03.11.15 07:41
Оценка:
Приветствую всех.

Есть такая задача: реализовать дерево каталогов и файлов средствами реляционной субд.
Соответственно имеем таблицу каталогов с внешним ключом на себя же, таблицу файлов с внешним ключом на таблицу каталогов, всё стандартно.
Реализуем на 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.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.