Arsip: cara mengatasi program lambat gara2 field blob?

 
user image
more 18 years ago

grounders

Ane punya masalah nih, saat ini saya menggunakan ADO untuk koneksi dengan MySQL dan ane mempunyai tabel master dengan filed longblob yang ane gunakan untuk menyimpan gambar... Saat ini tabel tersebut sudah berisis 5000 data master dengan prosentase 80 persen dari record tersebut ada gambarnya, nah yang menjadi masalah adalah program tersebut lama-lama menjadi lambat gara2 ada field gambar tersebut, jika tidak ada gambarnya maka program akan menjadi cepat kembali.. Sebenarnya saya mempunyai 2 pikiran untuk pemecagannya, namun saya masih bingung mana yang terbaik dan termudah untuk dikerjakan, nah disini saya ingin meminta bantuan teman2... Pemikiran-pemikiran saya adalah sbb: 1. Pada ADOTabel yang mengakses tabel gambar tersebut saya tidak mengikut sertakan field blobnya, nah ketika akan melihat gambar dari record yang bersangkutan maka saya akan menggunakan ADOSQL dengan Kode sebagai kuncinya... 2. Field blob tersebut saya kompress, nah disini yang menjadi masalah saya, sebelumnya saya sudah membaca artikel dari saudara kilmesoft mengenai enkripsi dan compress blob field, namun setelah saya baca ternyata harus menggunakan komponen baru, nah apabila saya menggunakan komponen baru apakah tidak merepotkan saya, kalo memang harus menngunakan komponen tersebut sebaiknya solusi agar tidak bentrok dengan ADO gimana? Syukur2 kalo ada teknik compress blob filed untuk ADO component.. Program ini sifatnya client server jadi terdapat perbedaan waktu yang cukup mencolok jika program dijialankan di server atau di client ketika mengakses tabel gambar tersebut, mohon tanggapan temen2...xixixixi
user image
more 18 years ago

yuan_carlos

menurut saya.....(and pengalaman).... file yg msk ke table berekstensi jpg/bmp....? setau saya .... kl pake bmp....emang data akan berat krn size file gede.... coba di konvert ke ekstensi jpg......
user image
more 18 years ago

grounders

File yang masuk sudah berekstensi JPG mas... Ane sudah menemukan solusinya,cara yang ane gunakan berhubung program sudah berjalan and sudah berisi data master yang cukup banyak maka solusi yang saya gunakan sebagai berikut : 1. Tabel master data barang sebelumnya mempunyai field picture untuk menyimpan data gambar saya rubah dengan menghilangkan field picture tersebut. Kemudian saya membuat tabel satu lagi khusus untuk menyimpan data gambar dengan relasi satu-satu dengan tabel master data barang 2. Tabel gambar tersebut saya akses dengan menggunakan SQL khusus pada record yang diperlukan saja dengan kunci kdbarang Pada tingkat aplikasi ADOTabel yang mengakses tabel master barang sudah tidak lagi mengakses field picture sehingga aplikasi menjadi lebih cepat
user image
more 18 years ago

kifmesoft

@grounders: kompresi BLOB Field umumnya gak akan berpengaruh banyak untuk type Image soalnya tipe image itu sendiri juga udah terkompresi (seperti jpg, gif, dan yang lainnya). fetch on demand (mengambil image hanya yang dibutuhkan saja) seperti itu bagus banget... ;) jika butuh kecepetan lebih (meskipun agak lebih ribet)... bisa deh coba dengan menyimpan image (sesuai kebutuhan) yang sudah diambil dari server ke stream (misal TMemoryStream atau bisa juga dengan In Memory Table seperti TClientDataSet atau kbmMemTable) jadi untuk menampilkan lagi image yang sama kan gak perlu load lagi dari server.. tetapi dibutuhkan signature untuk mendeteksi apakah image di server sudah berubah ? jika sudah berubah... ambil lagi, jika belum berubah.. tampilkan aja yang sudah ada..
user image
more 18 years ago

grounders

Wah saat ini buat saya yang penting program sudah sesuai keinginan client dulu, tapi ane tertarik dengan teknik signature tersebut, mungkin sodara kilmesoft bisa memberi sedikit tip or url yg bisa saya akses untuk mempelajarinya,thanks before....
user image
more 18 years ago

kifmesoft

wah, saya kurang tau juga nih URL yang membahas itu secara khusus... :( tapi kalo menurutku sih begini.. buat aja field khusus untuk signature BLOB FIELD. Setiap kali kita melakukan proses update, maka kita update juga signature nya ..., jadi.. signature ini diisikan pada saat proses insert dan update (bisa dilakukan dengan memanfaatkan trigger) di sisi client.., (misal kita memanfaatkan Memory Table) saat user ingin melihat suatu image, maka kita cek record image yg bersangkutan (di memory table), jika signaturenya NULL maka image belum di load.. ambil dari server 1 image yang diinginkan tersebut lengkap beserta signaturenya kemudian tampilkan dan simpan di BLOB memory table. jika signature pada memory table tidak NULL.. maka cek signature di server dan jika tidak sama maka load ulang, tetapi jika sama.. ya kita berikan aja dengan image yang sudah kita punya di memory table :D jadi, intinya signature ini hanya digunakan untuk membedakan data yang ada pada client dengan yang ada di server. wujud dari signature ini bisa macam2, bisa bertipe Integer yang nilainya diambil dari generator (firebird), atau bisa juga dibentuk dengan fungsi MD5 (MySQL). Kalo mau di isi dengan tipe DateTime atau TimeStamp juga boleh.. ;)
user image
more 18 years ago

budi_bunga

Kalo pengalaman saya sih mas, cukup nama gambar itu yang diinput dalam database berupa text, kemudaian pake timage untuk menampilkan apa yang ada dalam datatabase dengan menunjukkan lokasinya aja ams....
user image
more 18 years ago

kifmesoft

@budi_bunga: yoi, bisa aja sih dan lebih natural.. sama dengan rekan grounders dan rekan budi_bunga menggunakan akses ke file tetapi.., bila image yang dikelola tersebut adalah hasil scanning dokumen2 penting yang aksesnya bersifat terbatas, saya rasa.. melibatkan database dengan memanfaatkan BLOB Field, mungkin akan menjadi lebih mudah... ;)
user image
more 17 years ago

budi_bunga

@kifmesoft: @budi_bunga: yoi, bisa aja sih dan lebih natural.. sama dengan rekan grounders dan rekan budi_bunga menggunakan akses ke file tetapi.., bila image yang dikelola tersebut adalah hasil scanning dokumen2 penting yang aksesnya bersifat terbatas, saya rasa.. melibatkan database dengan memanfaatkan BLOB Field, mungkin akan menjadi lebih mudah... ;)
Ato gini mas, simpan file gambarnya menjadi text alu pada saat diambil file text tersebut dijadikan gambar, meskipun agak ribet ... :O gimana
more ...
  • Pages:
  • 1
Share to

Random Topic

Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com