Het setten van de property "prepared" van een query zorgt ervoor dat de sql-statement wordt voorgecompileerd ( of hoe je dat ook zou moeten zeggen) zodat de al dan niet geparametrizeerde query de volgende keer sneller wordt uitgevoerd. Ik kan me voorstellen dat dit voor een ingewikkelde query die vaak herhaald moet worden flink kan schelen.
Het effect zal wel samenhangen met de ingewikkeldheid van de query en de tijd die met het prepareren gemoeid is.
Maar hoe zit dat werkelijk: Wordt dat prepareren toch al gedaan, en zorgt "prepared"er alleen maar voor dat het resultaat voor hergebruik wordt klaar gezet,of kost dit extra tijd?
M.a.w. is er theoretisch een soort van omslagpunt waarboven een prepared statement zin heeft.
Ik heb gemerkt dat met een ADO-connection die een Oracle of SQL-server database aanspreekt het nogmaals uitvoeren van de dezelfde query (onder prepared:=false) de eerste keer (veel) langzamer is dan de volgende keren. Het lijkt erop dat die RDMSen een soort van autoprepare functie hebben.
Als dat zo is, voegt "prepared" dan nog wat toe?
Bookmarks