Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Ruby: Базы данных > Ruby+Oracle, OCI8: дико медленно |
Автор: maep 27.6.2008, 09:54 | ||||
Господа, еще один вопросик. Есть база оракла. руби, оси8. Делаю так:
в PL\SQL делаю так:
вроде одно и то же. Время выполнения программы руби в 20 (двадцать) раз больше, чем pl\sql. Понятно, что pl\sql быстрее будет работать, но не в 20 же раз... смущает такой разброс. Наличие вложенных запросов в цикле усугубляет ситуацию. В чем может быть проблема, или это норма и "не лечится"? Заранее спасибо |
Автор: Grengo 15.2.2009, 02:37 |
Насколько я знаю руби достаточно медленный язык как таковой. На том же пхп делал запросы в SQL и все работало шустро. Даже очень шустро... Если для вас Это дело принципа, то из дельного знаю только то, что с базами надо работать на рельсах, т.е. эээ RoR. |
Автор: source777 18.2.2009, 23:00 |
Grengo, не троли, в данном случае вопрос к Руби вообще отношения не имеет, скорость запросов к БД определяется: 1) запросом 2) скоростью соединения с БД 3) адаптером (в данном случае OCI) 4) ну и самой СУБД Что касается Oracle, то как показывает практика это самая медлительная из всех пропиаренных СУБД, так что если хочешь использовать Oracle, то твой выбор PL/SQL, на других языках работа с Oracle только в тягость... лечится это заменой Oracle на MySQL ![]() |
Автор: fixxer 19.2.2009, 00:07 | ||
![]() Вообще Oracle всегда считался одной из самых быстрых СУБД, причем на огромных объемах. Также известно, что она очень капризна в настройка и в неграмотных руках может вести себя неадекватно по производительности. Так что топикстартеру стоит привести DDL, индексы, объем данных, и сколько возвращается запросом. Сравнивать удаленный вызов с PL/SQL, работающим внутри базы, вообще некорректно. Может все время чисто на фетчинг и сжирается. |
Автор: Grengo 22.3.2009, 17:42 | ||
Вот-вот ) Но судя по "запросу" автора сложно сказать что там нечто объёмное. Затем следущее - Время выполнения программы руби в 20 (двадцать) раз больше, чем pl\sql. Это слова самого же автора. Т.е. нужно учитывать и то насколько быстро обработчик руби всё это дело поймёт, обработает, и отошлёт в базу в приемлемом для неё виде. И кто сказал что руби адаптирована под эти базы? Я знаю (как и многие), что для руби есть RoR, как я уже говорил, т.е. собственная разработка, и видел гайды в которых учат работать с рельсами. И там всё быстро, просто и наглядно. П.С. и всё таки руби - медленный язык. Это из-за его "высокоуровневости" 8) |