• Sonuç bulunamadı

10. ANLAMSAL/SEMANTIC SORGU OPTİMİZASYONU

10.4 ANLAMSAL OPTİMİZASYON UYGULAMASI

Uygulama programın Anlamsal/Semantic Optimizasyonla ilgili olan kısmı, daha önceden

öğrenilmiş olan kuralları kural tablosundan alır, bu kuralları daha önce Anlamsal/Semantic

optimizasyon kısmında anlatıldığı gibi maliyet tabanlı olarak mukayese eder, ve fonksiyondan

geçen bu kurallardan amacımıza uygun olanını alıp optimum sorguyu oluşturur. Daha sonra

da optimum sorguyu çalıştırır.

Şekil 10. 3 Anlamsal Optimizasyon Kuralları

Şekil 10. 3’de daha önceden öğrenilmiş olan kurallar bulunmaktadır. Burada ANT ile

gösterilen kısım Koşulun sol tarafındaki sütun ismini, ANT_TABLE ile gösterilen tablo

ismini, ANT_OPER ile gösterilen, koşul sol tarafının Operatörünü, ANT_VAL ile gösterilen

koşulun sol tarafının değerini, ANT_RECS_NUM ile gösterilen ise tabloda sol taraf koşulunu

sağlayan kayıt sayısını göstermektedir. Aynı şekilde ANT yerine CONS ile başlayanlar da

koşul sağ tarafını temsil etmektedir.

Şekil 10. 4 Sorgu Giriş Ekranı

Şekil 10. 4’de verilen ekrana sorgu koşulları ile girilir ve Semantic düğmesi tıklanır. Program

Kuralların bulunduğu tablo ile bağlantı sağlar ve ilgili koşulun bu kurallar içerisinde olup

olmadığını denetler. Var ise Şekil 10. 5 deki gibi koşulları ve/AND ile birleştirir ve alttaki

Metin Kutusu/TextBox a yazar. Program eğer girilen SQL koşulu ile ilgili bir kural

bulamazsa girilen SQL koşulunu aynen girildiği gibi Metin Kutusu/TextBox’a yazar.

Şekil 10. 5 Anlamsal Sorgu Optimizasyon Ekranı

Episode tablosu için kural tabanında bulunan sorguların orijinal hali ve Anlamsal

optimizasyonlu hali ve bunların zaman ölçümleri EK3’de verilmiştir. Bu ölçümlerden ilk 20

tanesi Çizelge 10. 1’de gösterilmiş olup tüm kurallarla ilgili zaman ölçümü grafiği Şekil 10.

6’ daki gibidir.

Çizelge 10.1 Anlamsal Optimizasyon

Orijinal Sorgu

zaman Semantic Optimizasyon

zaman

1

ADMISSIONS = 1000 0,296000 ADMISSIONS = 1000 AND ID =13497 0,203000

2

ADMISSIONS = 1018 0,312000 ADMISSIONS = 1018 AND ID =22528 0,171000

3

ADMISSIONS = 1022 0,312000 ADMISSIONS = 1022 AND ID =14886 0,156000

4

ADMISSIONS = 1031 0,296000 ADMISSIONS = 1031 AND ID =19084 0,140000

5

ADMISSIONS = 1048 0,296000 ADMISSIONS = 1048 AND ID =41000 0,221000

6

ADMISSIONS = 1050 0,281000 ADMISSIONS = 1050 AND ID =5919 0,171000

7

ADMISSIONS = 1052 0,281000 ADMISSIONS = 1052 AND ID =33944 0,171000

8

ADMISSIONS = 1059 0,296000 ADMISSIONS = 1059 AND ID =9686 0,171000

9

ADMISSIONS = 1061 0,296000 ADMISSIONS = 1061 AND ID =13881 0,218000

10

ADMISSIONS = 1064 0,343000 ADMISSIONS = 1064 AND ID =7742 0,203000

11

ADMISSIONS = 1070 0,281000 ADMISSIONS = 1070 AND ID =28532 0,156000

12

ADMISSIONS = 1074 0,296000 ADMISSIONS = 1074 AND ID =8088 0,140000

13

ADMISSIONS = 1084 0,296000 ADMISSIONS = 1084 AND ID =1434 0,187000

14

ADMISSIONS = 1090 0,312000 ADMISSIONS = 1090 AND ID =590

0,171000

15

ADMISSIONS = 1094 0,296000 ADMISSIONS = 1094 AND ID =13623 0,187000

16

ADMISSIONS = 1099 0,296000 ADMISSIONS = 1099 AND ID =12433 0,187000

17

ADMISSIONS = 11076 0,312000 ADMISSIONS = 11076 AND ID =3561 0,171000

18

ADMISSIONS = 1109 0,312000 ADMISSIONS = 1109 AND ID =4194 0,156000

19

ADMISSIONS = 1115 0,312000 ADMISSIONS = 1115 AND ID =28784 0,201000

20

ADMISSIONS = 1116 0,296000 ADMISSIONS = 1116 AND ID =35183 0,187000

Şekil 10. 6 Anlamsal Sorgu Optimizasyon

Şekil 10. 6’da görüldüğü gibi orjinal sorgu ile Anlamsal Sorgu Optimizasyon tekniği ile

optimize edilmiş sorgu arasında büyük zaman farklılıkları bulunmaktadır. Bu sorgular 3.

durum içinde olanlardır, yani 1. durumun (‘Sorgunun Kuralla Reddedilmesi’) ve 2. durumun

(‘Sorgunun Sonucunun Kuraldan Bulunması’) dışında kalanlardır. 1. ve 2. durumda %99’a

yakın performans artışı vardır ve bu artış daha önceki araştırmalar tarafından gösterilmiştir.

11. GENEL SONUÇLAR

Bu kısımda tezde yer alan 3 optimizasyon tekniğinin 94 tane ortak sorgu üzerinde

karşılaştırılması yapılmıştır. Bu karşılaştırma sorgularından bazılarını ve sorgularının

optimize edilmiş ve çalıştırılmış haldeki zaman ölçümleri EK 4’de bulunmaktadır.

Çizelge 11. 1’de ise ilk 10 tanesi yer almakta olup, tüm değerlerle ilgili grafik Şekil 11.1’ de

gösterilmiştir.

Çizelge 11.1 Optimizasyon Teknikleri Karşılaştırması

ORJINAL SORGU

Maliyet Tabanlı

Opt. Anlamsal Opt.

Buluşsal Tabanlı

Opt.

1

SELECT MALE FROM CODE,EPISODE2,HASTA WHERE ID=did AND EC=ECODE AND WAITING_LIST=6086 AND HastaNo=22

0,265000 0,234000 0,239000 2

SELECT DAY_CASE FROM CODE,EPISODE2,HASTA WHERE EC=ECODE AND HastaNo=22 AND MEDIAN_WAITING=251 AND ID=did

0,234000 0,195000 0,281000 3

SELECT WAITING_LIST FROM CODE,EPISODE2,HASTA WHERE ID=did AND EMERGENCY=11058 AND EC=ECODE AND EPISODES>1138

0,468000 0,287000 0,491000 4

SELECT MALE FROM CODE,EPISODE2,HASTA WHERE EC=ECODE AND

AGE_0_14=324 AND ID=did AND Aciklama='jukouyo707' 0,312000 0,218000 0,304000 5

SELECT WAITING_LIST FROM CODE,EPISODE2,HASTA WHERE ID=did AND WAITING_LIST=6086 AND HastaNo>22 AND EC=ECODE

0,431000 0,281000 0,423000 6

SELECT MALE FROM CODE,EPISODE2,HASTA WHERE Aciklama='jukouyo707' AND EC=ECODE AND ID=did AND MEDIAN_WAITING=251

0,312000 0,218000 0,318000 7

SELECT WAITING_LIST FROM CODE,EPISODE2,HASTA WHERE MALE> 1230

AND EC=ECODE AND HastaNo>22 AND ID=did 0,325000 0,204000 0,331000 8

SELECT DAY_CASE FROM CODE,EPISODE2,HASTA WHERE MEDIAN_LENGTH=100 AND EC=ECODE AND ID=did AND

Aciklama='jukouyo707' 0,296000 0,203000 0,248000

9

SELECT WAITING_LIST FROM CODE,EPISODE2,HASTA WHERE ID=did AND EPISODES=4305 AND EC=ECODE AND ECODE='I72.1'

0,265000 0,234000 0,278000 10

SELECT STARTYEAR FROM CODE,EPISODE2,HASTA WHERE HastaNo=22 AND AGE_75= 1488 AND EC=ECODE AND ID=did

Şekil 10.1’de görüldüğü gibi 94 adet sorgu Maliyet Tabanlı Sorgu Optimizasyonu, Buluşsal

Tabanlı Sorgu Optimizasyonu ve Anlamsal Sorgu Optimizasyonu tekniklerine göre

çalıştırılmış ve zaman ölçümleri yapılmıştır. Bu ölçümlere bakıldığında 94 sorgu için en iyi

tekniğin Anlamsal Sorgu Optimizasyonu tekniği olduğu görülebilir.

KAYNAKLAR

Graefe, G. ve Dewitt,D. (1987), “The EXODUS optimiser generator”, In Proc. of the 1987

ACM-SIGMOD Conf. on Management of Data, pp. 160-171.

Gözüdeli, Y. (2003), Veri Tabanı Programlama , Byte Eğitim Dizisi

Hsu,C. ve Knoblock,C.A. (1994), “Rule induction for semantic query optimisation”, In

Proceedings of the Eleventh International Conf. on Machine Learning,

King, J.J. (1981), “QUIST: A system for semantic query optimisation in relational

databases”, In Proceeding of the 7 th VLDB Conference, pp. 510-517.

Kline K. (2002) “Tuning SQL Statements on Microsoft SQL Server 2000”, SQL Server

Solutions Group, Quest Software, Inc.

Navathe E. ( 2004), Fundamentals of Database System, Pearson Education Inc.

Sayli A. ve Lowden B.G.T. (1997), “A fast transformation method to semantic query

Optimization” International Database Engineering and Application Symposium.

Sayli, A. and Elibol, A. (2004), “Rule mining modules on semantic query optimisation”, in

K. Engemann and G. Lasker (Eds.) Advances in Decision Technology and Intelligent

Information Systems, The International Institute for Advanced Studies in Systems Research

and Cybernetics, Windsor, Canada, Vol. V, pp.38–42.

Sayli, A. and Gokce, B. (2004), “The use of SQO rules in DMLs”, 9th IEEE Symposium on

Computers and Communications, Egypt, pp.146–151.

Siegel,M.D., Sciore,E. ve Salveter,S. (1992), “A method for automatic rule derivation to

support semantic query optimisation”, ACM Transactions on Database Systems, Vol. 17, No.

4, Dec. 1992, pp. 563-600.

Zeydin P. (2005), Visual C#.net 2003 ile Veri Tabanı Uygulamaları ve ADO.NET, Türkmen

INTERNET KAYNAKLARI

[1]www.msdn.com

[2]www.sqlnedir.com

[3]www.sql-server-performance.com

[4]www.verivizyon.com

EKLER

Ek-1 Maliyet Tabanlı Optimizasyonda Kullanılan Zaman Ölçümü Test Tabloları

Benzer Belgeler