[JAVA/DB2] Stored procedures

Pagina: 1
Acties:

  • momania
  • Registratie: Mei 2000
  • Laatst online: 21:30

momania

iPhone 30! Bam!

Topicstarter
In de huidige situatie heb ik een applicatie die gebruik maakt van gewone queries met
heel veel parameters, zodat ze soort en met van dynamisch worden qua zoek argumenten.

Nu is het zo dat sommige van die queries enorm lang duren en ook veel
tablescans veroorzaken ondank het juist plaatsen van indexen etc.
Hier komt het probleem bij (denk ik) dat iedere keer als er een parameter veranderd,
de DBMS het weer als een nieuwe statische query ziet.

Nu wil ik dit gaan oplossen dmv van stored procedures, maar ik weet nog niet helemaal hoe.
Bij mij kwam iig in gedachte dat bij een parameter gestuurde stored procedure de DBMS iig
weet dat ie met een dynamische query te maken heeft en 'm daarop ook beter kan
optimaliseren.

De vraag is nu alleen: SQL stored procedures of JAVA stored procedures.

Ik ben al een tijd aan het rondsnuffelen en kom eigenlijk iedere keer uit bij de IBM redbooks,
maar ik kan daar niet echt goede informatie vinden over hoe één van de twee op te zetten
en wat de verschillen zijn qua performance etc...

Wie heeft hier meer info en / of ervaring mee en kan wat tips/links aan mij kwijt?

Neem je whisky mee, is het te weinig... *zucht*


  • Bobco
  • Registratie: Januari 2001
  • Laatst online: 30-10-2023

Bobco

I used to dream about Verona.

Lastige materie, ook al omdat er minstens 3 componenten van belang zijn: je Java programma zelf, de JDBC driver en de Query Optimizer van je database.

Gebruik je op dit moment al PreparedStatements? Daarmee moet je, in theorie tenminste, wat snelheid kunnen winnen ten opzichte van "gewone" statements. Intuitief zou ik zeggen dat je het beste stored procedures van DB2 junt gebruiken. Dit vooral in verband met het feit dat je database nu eenmaal het beste in staat is om een goed toegangspad tot je data te kiezen.

With the light in our eyes, it's hard to see.


  • momania
  • Registratie: Mei 2000
  • Laatst online: 21:30

momania

iPhone 30! Bam!

Topicstarter
Ik gebruik op dit moment soort en met van preparedStatements, de database acces
wordt via DataAccesBeans gedaan. Die kan je met Visual Age for JAVA heel makkelijk
genereren, alleen qua onderhoud (zien we nu) is het dus ruk...

Ik ben een tijd bezig geweest om de queries die in de applicatie zaten te optimaliseren toen er een fixpack geiinstalleerd werd van DB2...zaten toen op v5.2 fix 17 geloof ik...
Alles draaide toen wel aardig, maar ondertussen staat er v7.2 met fix 7 en doen al die
queries ineens raar. Mede denk ik ook omdat de database in de tussentijd best gegroeid
is, maar ik mag toch verwachten van een DBMS als DB2 dat bv 300k records in een tabel
makkelijk kan...

Ik wil dus proberen of ik het met stored procedures wat duidelijker kan maken voor
de DBMS, zodat ook hij weet dat ie te maken heeft met een stored procedure en zich
daar beter op kan optimaliseren, of dat ik met een JAVA stored procedure de querie
beter kan laten opbouwen door bij bepaalde zoek-argumenten de ingangs paden
van de querie (volgorde van de joins e.d.) beter uit te zoeken.

Probleem voor mij hierbij blijft dus nog: waar vind ik goede duidelijk, maar ook even eerst
simpele informatie hoe ik dit het beste op kan bouwen en welke keuze ik moet maken...

Neem je whisky mee, is het te weinig... *zucht*