Mas Yulius,

Thanks atas infonya.
btw ada referensi untuk batas maksimum row data (dengan total bytes tertentu 
per row)  dimana table harus diindex?
soalnya AFAIK insert data ke table akan lebih cepat jika tidak ada index-nya 
(CMIIW please),
karena aplikasi yg sedang dibangun akan sangat  intens di aktifitas insert 1 
table (analogi logging)




________________________________
From: yulius_wibowo <[email protected]>
To: [email protected]
Sent: Thu, April 22, 2010 11:17:46 AM
Subject: [indo-oracle] Re: Indexed Table join with non-indexed table

  

Mas Aji,

L.L_id (PK) => by default harusnya sudah ada indexnya karena Primary Key.
S.S_id (PK) => by default harusnya sudah ada indexnya karena Primary Key.
L.S_id (FK) => by default belum ada indexnya.

berdasarkan where clause yg ada:
where l.S_id = s.S_id
and l.L_id = 1234

Data akan dicari berdasarkan urutan sbb: (Asumsinya menggunakan Rule Base 
Optimizer)

1. data di table L dgn nilai L_id = 1234 akan dicari terlebih dulu,
karena L_id adalah Primary Key , maka kemungkinan data yg didapat hanya 1 atau 
0. Karena L_id-nya  sudah terindex (Primary Key), maka plan-nya adalah UNIQUE 
INDEX SCAN. Dari pengaksesan index akan didapat ROWID. Dengan rowid tsb akan 
dicari recordnya. Termasuk data utk column L.S_id.

2. Dari data L.S_id yg didapat, sebut saja nilai L.S_id = 5678
akan dicari data dari table S (s_id) yg nilainya 5678. Karena S.S_id adalah 
primary key, kemungkinan data yg didapat hanya 1 atau 0.Karena S.S_id-nya  
terindex (Primary Key), maka plan-nya adalah UNIQUE INDEX SCAN, bukan FULL 
TABLE SCAN.

cmiiw,
bw

--- In indo-oracle@ yahoogroups. com, Aji Perdana <aji_perdana@ ...> wrote:
>
> Halo Masters,
> 
> Numpang tanya, klo ada table yg isinya bisa jutaan baris data dan ter-index 
> (tbl_L)
> di query join dengan table lain yg isinya cuma puluhan baris tapi tidak 
> ter-index (tbl_S)
> apakah query yg di execute akan berlaku indexnya atau tetap fullscan table?
> 
> berikut simulasinya:
> tbl_L
> ==========
> L_id (PK) -> "index1"
> S_id (FK) -> "index1"
> data
> 
> tbl_S
> ==========
> S_id (PK)
> data
> 
> Query :
> select l.data, s.data
> from
> tbl_L l,
> tbl_S s,
> where l.S_id = s.S_id
> and l.L_id = 1234
> 
> 
> Mohon pencerahannya 
> Terimakasih
> 
> Regards,
> Aji
> 
> 
> 
> 
> [Non-text portions of this message have been removed]
>


 


      

[Non-text portions of this message have been removed]

Kirim email ke