Wednesday, September 5, 2012

Merubah null menjadi 0 di sql

akhirnya setelah sekian lama gak pernah posting, karena ngurusi blog yang satunya lagi di nusamandiriportal.blogspot.com . saya sempatkan lagi untuk posting di blog ini kali ini saya mau sharing tentang bagaimana merubah hasil query yang berupa null menjadi 0.

Badai senja merah diatas Kabah

saat aku berusia 8 tahun aku adalah anak yang sering menderita sakit sehingga tidak ada prestasi apapun yang kuraih bahkan untuk mendapat rangking di sekolahku, dengan kesendirianku yang jauh dari lingkungan untuk anak seusiaku aku tumbuh dengan menikmati kesendirianku karna tak mungkin aku bermain seperti anak-anak lain. suatu

Tuesday, September 4, 2012

10 Tips SQL Mempercepat Akses Database


Tip pertama ini mungkin tampak biasa, tetapi pada kenyataannya sebagian besar masalah database berasal dari design struktur tabel yang buruk.
Sebagai contoh, saya telah melihat orang-orang menyimpan informasi seperti info client dan pembayaran info di column database yang sama. Ini bukan hal yang baik bagi database system dan developer yang akan bekerja menggunakannya.
Ketika akan membuat database, selalu simpan informasi berbeda di tabel yang berbeda, gunakan standar penamaan yang jelas dan gunakan primary key.
Source: http://www.simple-talk.com/sql/database-administration/ten-common-database-design-mistakes/

Tahu apa yang harus Anda optimasi
Jika Anda ingin mengoptimasi query tertentu, sangat penting bagi anda untuk bisa melihat informasi dari query yang anda jalankan. Gunakan perintah EXPLAIN, untuk mendapatkan informasi dari query yang anda jalankan, seperti yang ditunjukkan pada contoh di bawah ini:
EXPLAIN SELECT * FROM ref_table, table_lain WHERE ref_table.key_column = table_lain.column;
Source: http://dev.mysql.com/doc/refman/5.0/en/using-explain.html
Query tercepat… Adalah yang tidak pernah anda kirim
Setiap kali Anda mengirimkan query ke database, Anda akan menggunakan sumber daya server Anda. Inilah sebabnya, pada situs dengan traffic tinggi, hal terbaik yang dapat Anda lakukan untuk mempercepat database Anda adalah dengan cache queries.
Ada banyak solusi untuk menggunakan cache query pada server Anda. Berikut adalah salah satunya:
* AdoDB: AdoDB adalah library abstraksi database untuk PHP. Hal ini memungkinkan Anda untuk menggunakan sistem database pilihan Anda (MySQL, PostgreSQL, Interbase, dan lain sebagainya) dan dirancang untuk kecepatan. AdoDB sangat sederhana, namun memiliki sistem caching yang powerful. Dan juga, lisensi AdoDB di bawah BSD, yang berarti Anda dapat menggunakan dengan bebas pada proyek Anda. Sebuah lisensi LGPL juga tersedia untuk proyek-proyek komersial.
* Memcached: memcached adalah sistem caching memori terdistribusi yang sering dipakai untuk mempercepat website berbasis database dinamis dengan meringankan beban database.
* CSQL Cache: CSQL Cache adalah sebuah open-source data caching infrastruktur. Belum diuji secara pribadi, namun tampaknya bisa menjadi alat yang hebat.
Jangan Menampilkan yang tidak perlu
Yang sangat umum untuk mendapatkan data yang diinginkan adalah dengan menggunakan simbol *, yang akan mendapatkan semua kolom dari tabel yang diinginkan:
SELECT * FROM wp_posts;
Sebaliknya, Anda harus benar-benar hanya memilih kolom yang diinginkan, seperti ditunjukkan pada contoh di bawah ini. Pada situs yang sangat kecil dengan, katakanlah, satu pengunjung per menit, yang tidak akan membuat perbedaan. Tapi di situs seperti Tanyasaja.com, menghemat banyak proses untuk database.
SELECT judul, kutipan, pengarang FROM wp_posts;
Gunakan LIMIT
Ini sangat umum yang perlu Anda hanya mendapatkan jumlah record tertentu dari database Anda. Sebagai contoh, sebuah blog yang menampilkan sepuluh entri per halaman. Dalam hal ini, Anda harus benar-benar menggunakan parameter LIMIT, yang hanya menampilkan jumlah record yang diperlukan.
Tanpa LIMIT, jika tabel Anda memiliki 100.000 catatan berbeda, Anda akan ekstrak mereka semua, yang seharusnya tidak perlu dilakukan server Anda.
SELECT judul, kutipan, pengarang FROM wp_posts LIMIT 10;
Hindari queries dalam pengulangan
Bila menggunakan SQL bersama dengan bahasa pemrograman seperti PHP, dapat tergoda untuk menggunakan SQL queries dalam sebuah loop / pengulangan. Tapi hal ini seperti memukul database dengan query Anda.
Contoh ini menggambarkan seluruh masalah “queries dalam loop”:
foreach ($display_order as $id => $urut) (
$sql = “UPDATE SET kategori display_order = $ordinal WHERE id = $id”;
mysql_query ($sql);
)
Berikut adalah apa yang harus Anda lakukan sebagai gantinya:
UPDATE kategori
SET display_order = CASE id
WHEN 1 THEN 3
WHEN 2 THEN 4
WHEN 3 THEN 5
END
WHERE id IN (1,2,3)
Source: http://www.karlrixon.co.uk/articles/sql/update-multiple-rows-with-different-values-and-a-single-sql-query/
Gunakan JOIN bukannya subqueries
Sebagai seorang programmer, subqueries adalah sesuatu yang Anda bisa tergoda untuk menggunakan dan menyalahgunakannya. Subqueries, seperti yang ditunjukkan di bawah ini, dapat sangat berguna:
SELECT a.id,
(SELECT MAX (created)
FROM posts
WHERE author_id = a.id)
AS latest_post FROM authors a
Meskipun subqueries berguna, mereka dapat digantikan dengan JOIN, dan yang jelas akan lebih cepat untuk mengeksekusinya.
SELECT a.id, MAX (p.created) AS latest_post
FROM authors a
INNER JOIN posts p
ON (a.id = p.author_id)
GROUP BY a.id
Source: http://20bits.com/articles/10-tips-for-optimizing-mysql-queries-that-dont-suck/
Hati-hati ketika menggunakan wildcard
Wildcard sangat berguna karena mereka dapat menggantikan satu atau lebih karakter ketika mencari data dalam database. Saya tidak mengatakan bahwa Anda tidak boleh menggunakannya, tetapi sebaliknya, anda harus menggunakannya dengan hati-hati dan tidak menggunakan wildcard penuh ketika awalan atau postfix wildcard dapat melakukan pekerjaan yang sama.
Bahkan, melakukan pencarian wildcard penuh pada satu juta record pasti akan membunuh database Anda.
# Full wildcard
SELECT * FROM table WHERE COLUMN LIKE ‘%halo%’;
# Postfix wildcard
SELECT * FROM TABEL WHERE COLUMN LIKE ‘halo%’;
# Prefix wildcard
SELECT * FROM TABEL WHERE COLUMN LIKE ‘% hello’;
Source: http://hungred.com/useful-information/ways-optimize-sql-queries/
Gunakan UNION daripada OR
Contoh berikut ini menggunakan perintah OR untuk mendapatkan hasilnya:
SELECT * FROM a, b WHERE a.p = b.q OR a.x = b.y;
Pernyataan UNION memungkinkan Anda untuk menggabungkan hasil dari 2 atau lebih queries select. Contoh berikut akan mengembalikan hasil yang sama seperti perintah di atas, tetapi akan lebih cepat:
SELECT * FROM a, b WHERE a.p = b.q
UNION
SELECT * FROM a, b WHERE a.x = b.y
Source: http://www.bcarter.com/optimsql.htm
Menggunakan index
Index database mirip seperti indeks pencarian di perpustakaan: Mereka memungkinkan database untuk menemukan informasi yang diminta lebih cepat, seperti sebuah indeks perpustakaan akan memungkinkan seorang pembaca untuk menemukan apa yang mereka cari tanpa menghabiskan waktu.
Index dapat dibuat pada satu kolom atau kombinasi kolom dalam tabel database. Sebuah index tabel adalah struktur database yang mengatur nilai-nilai dari satu atau lebih kolom dalam tabel database dalam urutan tertentu.
Pertanyaan berikut ini akan membuat index pada Model kolom dari tabel Produk. Index disebut idxModel:
CREATE INDEX idxModel ON Product (Model);
Source: http://www.sql-tutorial.com/sql-indexes-sql-tutorial/

Friday, August 10, 2012

Mendapatkan info Penggunaan Memori pada Script PHP

Bagi para programmer PHP, berikut adalah cara untuk mengetahui pemakaian RAM yang dipakai untuk script PHP kita

echo "Initial: ".memory_get_usage()." bytes \n";
/* prints
Initial: 361400 bytes
*/

// let's use up some memory
for ($i = 0; $i < 100000; $i++) {
 $array []= md5($i);
}

// let's remove half of the array
for ($i = 0; $i < 100000; $i++) {
 unset($array[$i]);
}

echo "Final: ".memory_get_usage()." bytes \n";
/* prints
Final: 885912 bytes
*/

echo "Peak: ".memory_get_peak_usage()." bytes \n";
/* prints
Peak: 13687072 bytes
*/
 
tampilannya nanti akan seperti dibawah ini kalau di eksekusi : 
 
 

Wednesday, April 25, 2012

Membuat koneksi ODBC SQL Server

Pagi yang cerah ini selepas saya sampai dikantor, dan setelah menengguk segelas air putih yang tersedia di meja.. saya sempatkan membaca beberapa halaman buku JQUERY karya Abdul Kadir, penulis buku yang pertama kali saya beli bukunya waktu belajar pemograman Pascal di bangku kuliah.

Tanpa basa basi lagi langsung ke TKP aja , kali ini saya akan membagikan info bagaimana membuat koneksi antara ODBC dengan Sql server. Berikut adalah langkah langkahnya :

  1. Langkah pertama adalah anda harus punya database sql server, entah itu dikomputer local anda ataupun yang ada di jaringan.
  2. Klik menu Startàsettingsàcontrol panel àadministrative tools
  3. Buka data source ODBC


     



     

  4. Setelah terbuka jendela ODBC data source administratoràpilih tombol Add
  5. Pilih driver SQL server kemudian Finish


     



     

  6. Akan muncul tampilan seperti gambar di bawah ini :


     



     

  7. Pada bagian name isi dengan nama odbc yang akan di buat.. disini saya masukan nama odbcnya adalah "testodbc", pada bagian server masukan alamat server misalkan local jika database berada satu computer atau alamat IP jika database berada di jaringan. Tekan next
  8. Tentuka

Tuesday, April 24, 2012

Format angka dengan PHP

Anda memiliki angka 100000 dan ingin menampilkannya di web sehingga terlihat rapi dengan format seperti ini 100,000. PHP sudah menyediakan fungsi yang digunakan untuk memformat angka tersebut sehingga saat ditampilkan di web kelihatan rapih angkanya . fungsi tersebut adalah : number_format(variabel, banyaknya desimal, pemisah ribuan, pemisah desimal ).

Contoh : number_format(100000,0,'.','.')

perintah di atas digunakan untuk memformat bilangan 100000 dengan desimalnya adalah 0 dan pemisah ribuannya adalah titik ( . ).