hi Tonay
Thanks buat penjelasannya.
Akhirnya masalah diselesaikan dengan bantuan hint. Karena kita yakin table
ini tidak akan di-query lebih dari 10 records.

Halomoan

2009/9/5 Tony <[email protected]>

>
>
>
> Moan,
> Buat masukan aja. Kalo di Oracle, kalo udah pake cost-based optimizer,
> walaupun ada index, tapi kalo cost untuk full table scan lebih kecil, dia
> akan pilih full table scan. Contoh gampang misalnya 1 table cuman ada 2
> records. Walau di index, kemungkinan besar database akan full table scan.
> Krn cost buat baca index akan lebih besar dari pada hanya scan 2 recs di
> table itu.
> Kadang, krn optimizernya memang ga sempurna (alias ga ngerti penuh
> datanya), dia salah milih "path", alias mengira full table scan yg lebih
> cepet.
> Dalam hal ini, kita sebagai programmer yg lebih ngerti relationship
> datanya. Di Oracle kita bisa pake hint buat maksa dia pake index (harusnya
> MS SQL jg ada feature ini).
> Lalu benchmark, dgn atau tanpa index yg lebih cepet sebelum kita putusin
> apakah hint dibutuhkan.
> Btw, sejalan dg bertambahnya data, DBA harusnya memonitor apakah ada query
> yg udah ga effisien dan harus di ulang tune.
> Salam.
>
> --- On Wed, 8/26/09, Halomoan Chow <[email protected]<halomoan%40gmail.com>>
> wrote:
>
> From: Halomoan Chow <[email protected] <halomoan%40gmail.com>>
> Subject: Re: [BinusNet] Table Scan di MSSQL Server
> To: [email protected] <binusnet%40yahoogroups.com>
> Date: Wednesday, August 26, 2009, 2:50 PM
>
> Pak Jartono
> Memang sih awal ada curiga kalo urutan field berpengaruh. Namun hasil sama
> aja. DB tetap ngotot mau Table Scan dan tak mau index. Semoga ini bukan bug
> (bunny) dari Microsoft.
> Btw, perintah untuk update table statistic apa ya ?
>
> 2009/8/26 Jartono <[email protected] <Jartono%40yahoo.com>>
>
> >
> >
> > Alo Moan,
> >
> > Biasanya sih pasti dapat Index yang jalan ya..
> > Gak pernah table scan tuh kalau diindex..
> > Ato urutan field yg diindex ada yg terbalik di where?
> >
> > Regards,
> > Jartono
> >
> > ________________________________
> >
> > From: Halomoan Chow <[email protected] <halomoan%40gmail.com><halomoan%
> 40gmail.com>>
> > To: [email protected] <binusnet%40yahoogroups.com> <binusnet%
> 40yahoogroups.com>
> > Sent: Wednesday, August 26, 2009 1:30:49 PM
> > Subject: Re: [BinusNet] Table Scan di MSSQL Server
> >
> >
> > Hasilnya sungguh aneh, DB tetap menganggap Table Scan "is the right
> > solution" walau cuman pakai columns yg di index di WHERE clause.
> > Buat yang lain, apakah pernah mengecek DB mereka apakah pakai Table Scan
> > ato
> > Index untuk non-clustered index ?
> >
> > 2009/8/26 Lego Haryanto <turut...@yahoo. com>
> >
> > >
> > >
> > > Gue rasa yg nilai 0 sama 2 itu column indid. Nilai >1 itu nunjukin
> bahwa
> > > index nya emang non-clustered.
> > >
> > > Kalo kamu ubah querynya untuk ngga ngepakai column D di WHERE clause
> nya,
> > > ... bakal masih table scan?
> > >
> > > Best,
> > > -Lego
> > >
> > > Fear of the LORD is the beginning of knowledge (Proverbs 1:7)
> > >
> > > --- On Tue, 8/25/09, Halomoan Chow 
> > > <[email protected]<halomoan%40gmail.com><halomoan%40gmail.
> com>>
> > > wrote:
> > >
> > > From: Halomoan Chow <halom...@gmail. com <halomoan%40gmail. com>>
> > > Subject: Re: [BinusNet] Table Scan di MSSQL Server
> > > To: binus...@yahoogroup s.com <binusnet%40yahoogr oups.com>
> >
> > > Date: Tuesday, August 25, 2009, 9:07 AM
> > >
> > >
> > >
> > >
> > > Itu sesuai dengan contoh gua. Jadi WHERE clause sudah melibatkan fields
> > di
> > >
> > > dalam index, tetap saja Table Scan.
> > >
> > > Yang gua curigain itu:
> > >
> > > *select * from sys.indexes where object_id = object_id('tablenam e')**
> > >
> > > *
> > >
> > > *index 0 : HEAP*
> > >
> > > *index 2 : myIndex*
> > >
> > > *
> > >
> > > *
> > >
> > > Kenapa ada Index HEAP (bukan gua yg create tapi oleh system) dan urutan
> > >
> > > index gua nomor 2 (bukan 1 ato malah 0)
> > >
> > > 2009/8/25 Eko Prasetya <eprase...@gmail. com>
> > >
> > > >
> > >
> > > >
> > >
> > > > Sama saja, cuma most of the time kita menggunakan alter table, karena
> > >
> > > > table-nya sudah berisi data.
> > >
> > > >
> > >
> > > > Coba create indexnya menggunakan semua column yang kita search,
> > >
> > > > dan compare hasilnya.
> > >
> > > >
> > >
> > > > KOkon.
> > >
> > > >
> > >
> > > > 2009/8/25 Halomoan Chow <halom...@gmail. com <halomoan%40gmail.
> com>>
> > >
> > > >
> > >
> > > >
> > >
> > > > >
> > >
> > > > >
> > >
> > > > > Mungkin explain clause di mysql ~ execution plan di mssql.Cara
> create
> > >
> > > > > indexnya biasa2 aja. Menggunakan CREATE INDEX syntax.
> > >
> > > > > Tentu saja tidak semua column masuk dalam index.
> > >
> > > > >
> > >
> > > > > Apakah ada perbedaan antara pembuatan index lewat CREATE INDEX
> dengan
> > >
> > > > ALTER
> > >
> > > > > TABLE ?
> > >
> > > > >
> > >
> > > > > Thanks!
> > >
> > > > >
> > >
> > > >
> > >
> > > > [Non-text portions of this message have been removed]
> > >
> > > >
> > >
> > > >
> > >
> > > >
> > >
> > > [Non-text portions of this message have been removed]
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > [Non-text portions of this message have been removed]
> > >
> > >
> > >
> >
> > [Non-text portions of this message have been removed]
> >
> > [Non-text portions of this message have been removed]
> >
> >
> >
>
> [Non-text portions of this message have been removed]
>
> ------------------------------------
>
> "We cannot all do great things.But we can do small things
> with great love." - Mother Teresa
> ---------------------------------------------------------
>
> BinusNet founded on Dec 28, 1998 Owner : Johan Setiawan
> Moderator BinusNet : Suryadi Liawatimena & Surya Iskandar
>
> Stop or Unsubscribe: send blank email to
> [email protected]<binusnet-unsubscribe%40yahoogroups.com>
> Questions or Suggestions, send e-mail to 
> [email protected]<binusnet-owner%40yahoogroups.com>
>
> Yahoo! Groups Links
>
> [Non-text portions of this message have been removed]
>
>  
>


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

Kirim email ke