Kimi zaman bir işi yapan birden fazla yol bulunabilir. Sonuca ulaşmanız, yönteminizin en doğru yol olduğunu göstermez. Bunun bir örnek uygulamasını aşağıdaki sorguda görebilirsiniz.
Aynı sonucu üreten iki sorgudan biri regexp_like ile diğeri ise like ile yapılmış. Aralarındaki fark yaklaşık 7 kat...
Connected to Oracle Database 10g Enterprise Edition Release 10.1.0.2.0
Connected as SYSADM
SQL> set timing on
SQL>
SQL> SELECT *
2 FROM user_source
3 WHERE regexp_like(text, '(INSERT INTO |UPDATE )PARAMETER_VALUE ')
4 /
NAME TYPE LINE TEXT
------------------------------ ------------ ---------- ----------------
......
19 rows selected
Executed in 29,812 seconds
SQL>
SQL> SELECT *
2 FROM user_source
3 WHERE text LIKE '%UPDATE PARAMETER_VALUE %'
4 OR text LIKE '%INSERT INTO PARAMETER_VALUE %'
5 /
NAME TYPE LINE TEXT
------------------------------ ------------ ---------- ----------------
............
19 rows selected
Executed in 4,219 seconds
SQL>
No comments:
Post a Comment