Pernah coding java untuk dengan menggunakan SQL Native... seperti contoh di bawah ini:
String sql = " SELECT nc.NewsCategoryID, nc.NewsCategoryName, nc.BrandID, nc.ParentID " +
" FROM news_categorydetail ncd, news n, news_category nc" +
" WHERE ncd.newsID = n.newsID" +
" AND ncd.newsID = " + news.getNewsID() +
" AND n.NewsStatusID = " + Constant.NEWS_STATUSPUBLISH +
" AND nc.NewsCategoryID = ncd.newscategoryID ";
nah ternyata query semacam ini ada yang bilang tidak cukup efektif.... karena concat string sperti ini akan memakan alokasi memory... mestinya String sql bisa dialokasikan untuk satu tempat saja di memory.. tetapi karena proses concat string seperti itu akan memakan (weeeww rakusss..) alokasi memory... dimana setiap concat dilakukan akan menambah alokasi tersendiri di memory untuk menyimpang variabel string... kelihatannya sedikit tapi klo dalam sebuah aplikasi ternyata Query String cukup banyak.... gimenong.... hhehee??
untuk lebih efektifnya disimpan dalam object StringBuffer Seperti code di bawah ini :
StringBuffer buffer = new StringBuffer();Setelah buffer string tersebut di buat maka String sql nya bisa diambil dengan buffer.toString()
buffer.append(" SELECT nc.NewsCategoryID, nc.NewsCategoryName, nc.BrandID, nc.ParentID ");
buffer.append(" FROM news_categorydetail ncd, news n, news_category nc ");
buffer.append(" WHERE ncd.newsID = n.newsID ");
buffer.append(" AND ncd.newsID = " + news.getNewsID());
buffer.append(" AND n.NewsStatusID = " + Constant.NEWS_STATUSPUBLISH);
buffer.append(" AND nc.NewsCategoryID = ncd.newscategoryID ");
cara seperti ini mungkin sedikit lebih efektif....
Haikkkk haikkkkk smoga bermanfaat...


0 comments:
Post a Comment