Kalau manurut saya mirip sifat gerbang logika and index : bedanya pada operator (OR , || ) dan operator (AND).
Kalau operator || dia akan bernilai true atau mereturn nilai jika salah satu value bernilai NOT NULL. Sedangkan Operator AND akan mereturn nilai jika semua nilai not NULL Kalau syntax nya select * from table where First_Name||Last_Name = "JohnKerry"; System akan mencari berulang-ulang First_Name dan Last_Name untuk di compare dengan "JhonKerry". select * from table where First_Name= 'John' and Last_Name = 'Kerry' System akan mencari First_Name = "John", Baru Last_Name ="Kerry "(berdasarkan Index). --- In [email protected], panji aryaputra <papu...@...> wrote: > > Perkiraan saya, klausa seperti di bawah (query 1) membuat si DB terpaksa > melakukan komputasi FirstName || LastName utk setiap row, jadinya hasilnya > lebih jelek. Bandingkan misalnya dengan menggunakan function-based index yg > komputasinya dilakukan pas membangun index. Query 2 sendiri memungkinkan > menggunakan composite index yg ada. Query 1 plannya full table scan bukan? > Btw cost-based optimizer nggak cuma tergantung pada struktur, tapi juga > tergantung datanya (statistik datanya tepatnya). > > panji > > 2009/9/6 martinus j wahyudi <joshua_del...@...> > > > > > > > Dear all friends, > > > > mau nanya, katakan ada tabel seperti ini: > > > > ID, First_Name, Last_Name, Value > > > > Kemudian saya melakukan query seperti ini: > > select * from table where First_Name||Last_Name = "JohnKerry"; > > > > dan > > > > select * from table where First_Name= 'John' and Last_Name = 'Kerry'; > > > > Menurut kalian, mana query yang memberikan performansi terbaik. Kalo aku > > liat di query analyzer, kok cost-nya mahal yg query pertama ya. > > > > tapi ada temen saya yang ngeyel klo query yang pertama lebih baik. > > > > Catt: First Name, dan Last Name sudah dibuatkan composite index (firstname, > > lastname) > > > > Sincerely, > > > > Martin > > > > > > > > > > > > > > > [Non-text portions of this message have been removed] >

