WITH-Klausel

Posted by clausbajor

In der Praxis trifft man von Zeit zu Zeit auf aufgeblaehte SQL-Queries, die ausserordentlich kostenintensiven und langwierigen Ausfuehrungsplaenen folgen. Zeigt eine weitergehende Analyse, dass die komplexe Abfrage eine oder mehrere Subqueries enthaelt, die mehrfach ausgefuehrt werden, dann besteht eine sehr gute Chance durch Verwendung der sogenannten WITH-Klausel, die Performance der Abfrageausfuehrung erheblich zu steigern. Im [...]

MIN, MAX innerhalb eines SELECT-Statement

Posted by Sven Thämar

Manchmal benötigten man sowohl den kleinsten (min) als auch den größten (max) Wert einer indizierten Spalte gleichzeitig. SELECT MIN(id) , MAX(id) FROM big_table Bei diesem SELECT kommt zwar das richtige Ergebnis, dennoch kann die Antwortzeit sehr lange dauern. Der Grund liegt in einem FAST FULL INDEX SCAN. Besser ist folgendes: SELECT MIN(id) min_value FROM big_table [...]

Blockierende SQL-Session

Posted by Sven Thämar

Folgendes SQL-Statement kann man verwenden wenn man prüfen möchte ob es blockierende Sitzungen gibt. SELECT , b.username blocking_username , b.osuser blocking_osuser , b.machine blocking_machine , b.program blocking_program , w.sid waiting_sid , w.username waiting_username , w.osuser waiting_osuser , w.machine waiting_machine , w.seconds_in_wait FROM v$SESSION w , v$SESSION b WHERE w.blocking_session is not NULL AND b.sid = [...]

Sortierung von hierachischen Bäumen

Posted by Sven Thämar

Oft hat man die Anforderung hierachische Bäume sortiert darzustellen. Am besten soll die Sortierung auch jederzeit geändert werden können. Folgendes Beispiel soll die einfache Lösung aufzeigen: SELECT a.id , a.parent_id , a.label , a.sort FROM menu_tree a ORDER BY 2 nulls first,1   ID PARENT_ID LABEL SORT 1   Anwendung 1 2 1 Hilfsdaten 2 [...]

Solving utf-8-encoding-issues when connecting to oracle with php and oci8

Posted by Eric Bartels

In a recent project of mine a web-application is developed. This application consumes “some data” from an enterprise Oracle database. The development environment has the latest oracle drivers installed. Everything works as expected. Even the connection-speed is very good. But then comes the deployment of that application. The production environment already runs for a while [...]