Przede wszystkim powinieneś spodziewać się przechowywanie obiektów BLOB w bazie danych jest (czasem nieco, często znacznie) wolniejsze, ale zdecydowanie nie szybsze niż przechowywanie ich w systemie plików. Powody, dla których warto je przechowywać w bazie danych, nie dotyczą wydajności, ale np.:
- Niedostępność (współdzielonego) systemu plików w scenariuszu klastrowym lub z równoważeniem obciążenia
- Łatwość tworzenia kopii zapasowych:pojedynczy proces, m.in. 2 procesy, gdy używane są pliki i DB
- Bezpieczeństwo transakcji:BLOB jest albo jest i jest kompletny, albo nie, ale nie jest na pół upieczonym etapie
- inne, o których nie mogę teraz myśleć.
Ogólna zasada jest taka, że jeśli żadna z tych rzeczy Cię nie dotyczy, powinieneś przechowywać swoje pliki jako… pliki. Przechowywanie metadanych i ścieżki w bazie danych jest dobrą i powszechną praktyką IMHO.
Odnośnie strojenia Oracle:Napisano o tym książki. Podejrzewam, że sumuję je ponad tonę w miękkiej okładce z martwego drzewa. Możesz przede wszystkim spojrzeć na zużycie pamięci przez proces Oracle – praktyczna zasada:Jeśli jest to mniej niż jeden koncert i używasz BLOBów, masz kłopoty. Przeczytaj o różnych pulach pamięci i sposobach ich zwiększania. Mogą obowiązywać pewne ograniczenia dotyczące edycji ekspresowej.