2013-01-29

CRUD Part 2 : READ

Bila anda tidak membaca tulisan pertama, sekarang saatnya membaca tulisan pertama dahulu. Disini saya akan membagi tentang cara membaca artikel/konten yang anda tulis di table. Sebenarnya ada beberapa hal yang jadi perhatian saya dalam melakukan READ yaitu masalah waktu yang digunakan untuk menarik data. Untuk mudah saya hendak menarik data/membaca data di table yang berisi sejuta field.

Tetapi membaca semua malah bikin site lambat dan tidak keluar sama sekali?

Kesalahan yang saya temui dalam membuat query adalah kita membuat query yang sebenarnya tak perlu dipanggil. sebagai contoh mengetahui berapa jumlah data dalam table, sejujurnya ada yang memakai cara panggil semua lalu hitung data yang terpanggil..



CARA yang terbilang salah.. Apalagi caranya memakai

SELECT * from xxxx
memakai * itu akan memboroskan memori. Seharusnya memakai 1 field yang isinya kecil saja seperti
select id from xxxx
tapi cara ini di anggap salah juga! karena ini pemborosan data!! lebih baik

select num() as jumlah from xxxx
sebenarnya ada 1 hal yang lupa dishare dari tulisan pertama. yaitu di field dimana table kamu disimpan HARUS ada 1 field bernama status yang bernilai 1! disini maksudnya data tersebut adalah data aktif! kegunaannya adalah untuk nanti yaitu update dan delete!

Berikutnya anda akan membaca data, beberapa program yang kutemui.. Memadatkan semua field yang akan dipanggil dalam 1 query, untuk pemula gunakan cara tersebut. Tetapi saya tidak rekomendasikan memakai
select * from xxxx where id=1
sebenarnya yang saya tekankan disini pada * (melihat semua), saya menyarankan  memakai
select id, field1, field2 from xxxx where id=1
disini anda menentukan field apa aja yang di panggil. Tetapi hati-hati bila anda memanggil 2 table dan table itu memakai nama yang sama (id contohnya), maka akan ada kebingungan id mana yang anda panggil.. Jadi saranku manfaatkan
select t.id, t.field1, t.field2 from xxxx  t where id=1
beranjak dari cara pemula ini, langsung ke cara menengah dan mahir. ID atau nama field seharusnya kamu kasi nama yang mudah kamu gunakan. Beberapa field memiliki nama yang agak aneh dan membingungkan kamu. Apalagi bila kamu memiliki konsep struktur programing yang bagus jadi bila memakai cara di atas (query) di atas akan merugikan kamu kedepannya. Yang saya maksud adalah tulis query kamu sebagai berikut
select
t.id id, t.field1 nama, t.field2 alamat
from xxxx
where id=1
disini kamu memberi nama fieldnya, ini sebenarnya lebih saya rekomendasi walau ngetik querynya agak panjang tapi worth it!

Query panjang vs Query berulang-ulang

sejujurnya semua akan memilih query panjang. saya tidak menyalahkan karena kamu sudah dapat semua data dengan memanggil sekali (termasuk kategori contohnya). Tetapi saya sendiri lebih suka memakai query berulang jadi data dari table 1 di panggil tetapi keterangan kategorinya apa malah belakangan!?

Sebenarnya tidak ada yang salah dengan cara barusan, tetapi merepotkan kedepannya. Namun bisa juga menguntungkan.. Karena sebenarnya saya memanggil nama kategori ini menggunakan fungsi (viewCat) dimana saya menuliskan
viewCat($id)
lalu tinggal membaca datanya. Sementara itu kamu juga dapat menggunakan viewCat untuk list Category yang terdapat di table (jadi ceritanya 1 fungsi bisa 2 kegunaan). Sebenarnya cara ini akan terlihat berguna bila data sudah sampai 1 juta dan table yang ditarik lebih dari 10 tabel !! Tentu saja anda akan heran kenapa ada data bisa sampe memiliki 10 table!! Sejujurnya program yang kubuat hanya memakai 5 table (max). Namun lebih baik anda memutuskan cara terbaik agar program cepat dan anda enak codingnya

Enak coding, maka anda akan cepat menyelesaikan problem yang ada!!

Tidak ada komentar: