- Algorithm A1 (Linear Search) – membaca setiap blok-blok file dan membaca setiap record untuk menentukan dimana hasil selection yang diminta sesuai kondisi.
Cara menghitung cost estimatenya yaitu,
Cost estimate = br block transfers + 1 seek; dimana br adalah jumlah blok yang terisi oleh record-record relasi r.
Tapi jika selection menurut kata kunci / primary key-nya, rumus cost menjadi,
Cost = (br/2) block transfers + 1 seek
Linear search ini bisa digunakan untuk kondisi seleksi, pengurutan record-record dalam suatu file dan indeks.
- A2 (Primary Index, equality on key) – hanya mengambil/membaca 1 record yang memenuhi dengan kondisi yang diinginkan. Rumus perhitungan costnya yaitu,
Cost = (hi + 1) * (tT + tS)
- A3 (Primary Index, equality on nonkey) – mengambil/membaca multiple record yang sesuai dengan kondisi. Rumus perhitungan costnya menjadi,
Cost = hi * (tT + tS) + tS + tT * b; dimana b adalah jumlah blok dengan data yang sesuai kondisi
- A4 (Secondary Index, equality on nonkey) – mengambil/membaca 1 record yang sesuai kondisi, dimana search-keynya merupakan kunci kandidat. Perhitungan costnya menggunakan rumus:
Cost = (hi + 1) * (tT + tS)
Kondisi kedua adalah jika searck-keynya bukan merupakan kunci kandidat, perhitungan costnya, yaitu
each of n matching records may be on a different block
Cost = (hi + n) * (tT + tS) ; dimana data n yang sesuai dengan kondisi bisa berada dalam blok yang berbeda
- A5 (Primary Index, comparison)
sA ³ V(r) digunakan untuk menemukan tuple pertama ³ v dan memindai secara berurutan.
sA£V (r) digunakan untuk memindai tuple pertama > v dan tidak menggunakan indeks.
- A6 (Secondary Index, comparison).
Untuk sA ³ V(r) menggunakan indeks untuk mencari entri pertama ³ v dan memindai secara berurutan mencari pointer
Untuk sA£V (r) hanya memindai pointer indeks hingga entri pertama > v
- A7 (Conjunctive Selection using One Index).
Pemilihan kombinasi qi dan algoritma A1 melalui A7 menghasilkan biaya untuk sqi (r).
- A8 (Conjunctive Selection using Composite Index).
Menggunakan multiple-key indeks yang tersedia.
- A9 (Conjunctive Selection by Intersection of Identifiers).
Menggunakan indeks yang sesuai untuk setiap kondisi dan mengambil irisan semua set yang didapat dari pointer.
- A10 (Disjunctive Selection by Union of Identifiers).
Berlaku jika semua kondisi memiliki indeks yang tersedia, untuk mencari setiap kondisi dan mengambil gabungan dari semua set yang diperoleh dari pointer.
Leave a Reply