barang) bisa di optimisasi lagi pak.
1. Jika seluruh data diambil dari server. ketika client
membutuhkan hasil join nama barang dgn transaksi
(misalnya) dgn optimized query anda. jika client
membutuhkan data tsb 2 kali, server kerja 2 kali. jika
1000 kali?
2. jika record nama barang disimpan di client misal
in-memory table, join dilakukan di client. dari server
cukup mengambil data transaksi, tidak perlu operasi join
dgn nama barang di server.
kan lebih cepat tuh....
-jido-
On Sat, 23 Oct 2004 09:13:15 +0700
Rusydan Muslih <[EMAIL PROTECTED]> wrote:
>
> Kasus
>
> Table A
> ColA ColB ColC ColD
> 1 B1 C1 D1
> 2 B2 C2 D2
> .
> .
> .
> 1000000 BXX CXX DXX
>
> Table B
> BKode BUr
> B1 UrB1
> B2 UrB2
> .
> .
> .
> BXX UrBXX
>
> Table C Sama dengan table B
>
> Kita ingin mencari sebuah data dari Table A yang
>memiliki ID (ColA)
> tertentu, lengkap dengan uraian untuk B dan C. Querynya
>bagaimana?
>
> B. Unoptimized Query
> --> select TableA.ColA, TableB.BUr, TableC.CUr
> --> from TableA
> --> Inner join TableB on (TableA.ColB = TableB.BKode)
> --> Inner join TableC on (TableA.ColC = TableC.CKode)
> --> where TableA.ColA = XXX
> Ketika mendapatkan query seperti ini, DB Server akan
>melakukan hal berikut :
> 1. Ambil semua data Table A (1000000 record)
> 2. Ambil semua data Table B (XXX record)
> 3. Ambil semua data Table C (YYY record)
> 4. Cross Reference semua data di TableA dengan Record
>yang
> bersangkutan pada Table B
> Jumlah operasi persamaan (Jumlah Record A * JUmlah
>REcord B) ..
> Berapa Coba??
> 5. Hal yang sama dilakukan untuk Table A dengan Table
>C... Udah berapa
> kali nih
> perbandingan yang dilakukan???
> 6. Filter hasil yang dilakukan dengan syarat kolom A =
>dengan satu
> angka yang menghasilkan satu record...
>
> Moral of the story: bayangkan banyaknya perbandingan
>yang dilakukan
> hanya untuk mendapatkan satu record.
> Note: - Ambil bukan berarti dikirm ke client, ini hanya
>berarti data
> diambil kememori.
> - Langkah diatas berdasar pada asumsi, DB Server
>tidak
> melakukan operasi optimasi (database besar seperi
>Oracle, DB2 dan yang
> lain, cara kerja diatas akan berubah sesuai dengan
>tingkat optimasi
> yang dilakukan).
>
> B. Optimized Query
> --> select Tab1.ColA, , TableB.BUr, TableC.CUr
> --> from
> --> (select ColA, ColB, ColC from Table A where ColA =
>XXX) as Tab1
> --> Inner join TableB on (Tab1.ColB = TableB.BKode)
> --> Inner join TableC on (Tab1.ColC = TableC.CKode)
>
> Nah sekarang apa yang terjadi dengan query ini:
> 1. Scan TabelA, Ambil data yang sesuai dengan filter
> 2. Ambil semua data Table B (XXX record)
> 3. Ambil semua data Table C (YYY record)
> 4. Cross Reference semua data di TableA dengan Record
>yang
> bersangkutan pada Table B
> Jumlah operasi persamaan (Jumlah Record A * JUmlah
>REcord B)
> Karena Jumlah record Tab1 hanya 1 maka operasi
>perbandingan hanya
> berlangsung sebanyak record TableB)
> 5. Hal yang sama dilakukan untuk Table A dengan Table
>C... Udah berapa
> kali nih
> perbandingan yang dilakukan???
> 6. Query selesai. muncullah record idaman hati dengan
>cepat... memori
> aman... cpu OK.
>
> Note:
> Mengenai operasi pembandingan sekali lagi ada asumsi
>bahwa table tidak
> berindex kalau ber-index maka pebandingan dilakukan
>kepada table
> index:
>
> Query "B" hanya bisa dilakukan pada DBMS yang mensupport
>full select
> (select on select) atau apapun namanya.
>
> Moral OF The Story:
> --> Filter dilakukan sesegera mungkin untuk meringankan
>beban server
> sehinggan tidak melakukan operasi pembandingan yang
>sebenarnya tidak
> perlu.
=============================================
Netkuis Instan untuk wilayah Bandung (kode area 022) - SD,SMP,SMA
Berhadiah total puluhan juta rupiah... periode I dimulai 1 April 2004
=============================================
Berlangganan: [EMAIL PROTECTED]
Stop Berlangganan: [EMAIL PROTECTED]
Keluhan Milis(Unbouncing,spam,dll): [EMAIL PROTECTED]
| Yahoo! Groups Sponsor | |
|
|
Yahoo! Groups Links
- To visit your group on the web, go to:
http://groups.yahoo.com/group/Delphindo/
- To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]
- Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.
