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]
