Jumat, 26 Juni 2009

Tips Untuk Mempercepat Query Dengan SQL Server

Untuk menampilkan data dalam jumlah besar memerlukan waktu yang tidak sedikit untuk sekali proses, hal itu belum lagi ditambah dengan kondisi data juga sedang di akses oleh user lain. Rentang waktu yang diperlukan dari hitungan detik bisa berakhir dengan hitungan menit atau bahkan proses query tidak akan pernah berakhir dikarenakan adanya proses yang kena lock (menggantung) di server sehingga menggangu antrian proses dibelakannya.

Kenapa Lock?
Lock dalam query di SQL Server terjadi karena server secara otomatis membuatkan antrian terhadap perintah yang dikirim dari client ke server. Proses antrian yang terlalu lama ini yang menjadikan proses ke lock.

Bagaimana Menghindari proses locking?
with(nolock) adalah perintah kecil yang dapat digunakan untuk mengurangi locking dalam proses antrian. cara kerja with(nolock) adalah perintah query yang dijalankan oleh server yang dikirim dari client di buatkan prioritas terlebih dahulu dari query yang sudah ada, sehinga proses locking dapat dikurangi.

Solusinya?
Solusinya adalah menempatkan perintah with(nolock) dalam setiap menuliskan perintah query.

Tanpa with(nolock)

select * from main.inventory

Dengan record kurang lebih 70 record memerlukan waktu kurang lebih 10 detik.

Dengan With(Nolock)

select * from main.inventory with(nolock)

Dengan jumlah record yang sama memerlukan waktu kurang lebih 5 detik

Ini hanya proses yang dilakukan untuk satu tabel, bagaimana dengan banyak tabel dalam sekali proses, bisa dihitung waktu yang kita hemat. penasaran? Silahkan mencoba.

Jumat, 19 Juni 2009

Mendeklarasikan, Memberikan dan Menampilkan Nilai dari variabel

SQL Server myediakan variabel yang dapat digunakan untuk mempermudah proses data yang dilakukan didalam server.
Cara pendeklarisian variabel di dalam SQL Server sama seperti dengan kita mendeklarisakn variabel di dalam aplikasi pemograman yang lain.

Ciri Variabel didalam SQl Server dapat dikenali dengan simbol khusus berupa tanda @ (ad) sebelum nama variabel sebenarnya. Penulisan variabel juga harus diawali dengan kata Declare, Secara spesifik variabel ini digunakan untuk membantu menerima parameter yang dikirim dari client untuk diproses di dalam server. Tools yang sering menggunakan variabel tersebut adalah store procedure, function atau Trigger

Syntax penggunakan variabel pada SQL Server

Declare @jumlah numeric(5)

select @jumlah = count(*) from main.inventory where kd_sbbrand = 'KLI01'

select @jumlah as jumlah

Ket :
Baris pertama
Kata Declare @jumlah numeric(5) mempunyai pengertian bahwa kita pengin mendeklarasikan variabel jumlah dengan tipe data numeric.

Baris kedua:
Memberikan nilai untuk variabel jumlah yang di ambil dari jumlah data didalam tabel inventory

Baris Ketiga:
Menampilkan nilai dari variabel jumlah.

Membatasi Jumlah Record Di MYSQL

Tips ringan yang dapat kita gunakan untuk membatasi jumlah record yang ingin ditampilkan kita dapat menggunakan perintah Limit pada akhir perintah select. Default dari hasil perintah limit adalah menampilkan data pada record pertama atau pada record yang paling atas tersendiri.

Perintah limit dibedakan dalam beberapa format dan setiap format penulisan memiliki fungsi yang berbeda. Syntax penulisan limit dapat debedakan dalam beberapa cara.

1. Limit 1 : Hanya menghasilkan jumlah satu record saja.
2. Limit 0,2 : Menghasilkan jumlah record sebanyak 2 record dimulai dari record pertama.

EX: Contoh syntax penulisan dengan Limit

select * from ivheader limit 1

ket : Hasil record yang ditampilkan adalah hanya satu record.

select * from ivheader limit 0,2

ket : Hasil record yang ditampilkan sebanyak dua record dimulai dari record pertama.

Kamis, 18 Juni 2009

Membatasi Jumlah Record

Pengertian dari membatasi jumlah record adalah menampilkan hanya satu atau lebih dari jumlah record sebenarnya dalam satu tabel dengan perintah Select.

SQL Server menyediakan systax khusus yang digunakan untuk memberikan batasan jumlah record yang ingin ditampilkan dalam satu perintah select (query). Syntax yang dapat digunakan adalah dengan menambahkan csript Top (jumlah baris).

Contoh : Kita ingin menampilkan 2 record pertama dari tabel barang yang berjumlah lebih dari seratus record.

Syntax yang dapat digunakan adalah :

select * top(2) from main.inventory

Selasa, 16 Juni 2009

Copy Tabel Antar Database

Membuat tabel baru yang sama secara struktur dan data secara manual dengan database yang berbeda merupakan sebuah perkerjaan yang menjenuhkan dan kurang efektif dan efisien baik secara waktu dan tenaga.

Setiap aplikasi data base (ex: mysql dengan interface SQL) menyediakan tools khusus yang mempemudah kita dalam mengelola tabel, secara spesifikasi membuat tabel baru di database yang berbeda dimana secara data dan struktur sama seperti tabel di database lain (Istilah lain adalah copy tabel antar Database)

Berikut langkah yang bisa kita implementasikan untuk copy tabel antar database :
Misal : tabel bank yang ada di database kodokijo mau kita pindahkan ke database apotik



Klik kanan tabel pilih Copy Table to defferent Host



a. Name = Nama Database Asal.

b. Select ALL = Untuk memilih seluruh tabel

c. Unselect All = Untuk membatalkan pilihan tabel

d. Combo Target DB = merupakan database yang dituju

e. Drop Table if Exists In Target = Ceklist jika ingin
menghapus tabel yang sama pada database target

f. Struktur And Data = Tabel di copy struktur dan Datanya

g. Struktur Only = Hanya Stuktur tabel yang dicopy.

H. Klik Copy jika sudah yakin selesai

Senin, 15 Juni 2009

Create User Baru MYSQL dengan SQL YOG

Default user di Mysql adalah admin. User Admin diciptkan bersamaan pada saat kita instal Mysql. Dalam pengembangan dan implementasi system user baru diperlukan untuk keperluan security dan kemudahaan dalam implementasi.


Mysql server menyediakan tools khusus yang bisa kita maksimalkan dalam pembentukan user baru. Proses pembentukan user baru dapat dilakukan dengan cara seperti berikut:

1. Dari Menu b ar pilih TOOL
2. Klik User Man ager
3. Klik Add User
4. Atau dari icon di T oolbar klik icon Manage User Permissions



Create User
5. Input Nama user dan password yang digunakan

6. Tentukan Globar Previlages (Hak User untuk Akses Data)

7. Klik Select ALL untuk Hak Akses sama seperti admin

8. Klik Create untuk menyimpan data user baru.

9. Jika Sukses Tutup dan login kembali ke aplikasi dengan user yang sudah dibuat.

Rabu, 10 Juni 2009

Mencari tanggal pada awal dan akhir bulan dari tanggal aktif

Dalam setiap aplikasi database sudah disediakan fungsi khusus yang dapat digunakan untuk pengolahan data yang berkaitan dengan waktu, begitu juga dengan SQL Server ada fungsi khusus yang sudah disediakan untuk mengolah data dengan tipe data smalldatetime dan date.


Dalam kasus yang kita bahas sekarang adalah mengolah data tanggal yang berkaitan pencarian Tanggal ke awal dan akhir bulan:

Contoh Syntak yang bisa digunakan adalah sebagai berikut :

DECLARE
@PERIODE SMALLDATETIME,@PERIODE1 SMALLDATETIME,@PERIODE2 SMALLDATETIME

SET @PERIODE = '2009-06-11'

--AWAL
BULAN
SELECT @PERIODE1 = DATEADD(dd,-(DAY(DATEADD(mm,1,@PERIODE))-1),DATEADD(mm,0,@PERIODE))
--AKHIR BULAN
SELECT @PERIODE2 = DATEADD(dd, -DAY(DATEADD(m,1,@PERIODE)), DATEADD(m,1,@PERIODE))
--Menampilkan Output
SELECT @PERIODE AS TGL_SEKARANG, @PERIODE1 AS AWAL_BULAN, @PERIODE2 AS AKHIR_BULAN


Out Put yang didapat :

Selasa, 09 Juni 2009

Membuat Tabel Temporary Di Dalam SQLServer

Temporary Tabel merupakan tabel sementara yang terbentuk ketika proses itu query berjalan. fungsi tabel temporari digunakan untuk menyimpan data dari rangkaian proses untuk untuk memperoleh informasi yang diinginkan. pada umumnya tabel temporari diciptakan karena proses yang lakukan tidak bisa diselesaikan dalam satu kali proses query.

Keuntungan penggunaan tabel temporari adalah tidak membebani besarnya file, keuntungan lainnya adalah tabel temporari dapat digunakan untuk proses secara bersamaan pada waktu yang sama dengan user yang berbeda-beda atau lebih mudahnya tabel temporari sangat membantu untuk aplikasi program berbasis client server tanpa perlu membuat tabel bantu pada masing-masing client.

Ciri utama untuk membedakan antara tabel tempori dengan tabel fisik adalah untuk tabel fisik tidak diawali dengan tanda # tetapi untuk tabel temporari diawali dengan tanda #.

Pembentukan tabel temporari dapat melalui beberapa cara :
1. Dengan Create tabel manual
contoh :

Create table #tmpSiswa (
nim varchar(5),
nama varchar(40)
)

2. Melalui perintah select ...
Untuk menciptakan tabel temporari melalui perintah select penempatan nama tabel diawali
dengan perintah into lalu diikuti dengan nama tabelnya.

Syntax:

select * into #tmpsiswa from mahasiswa

Tabel temporari adalah alat bantu proses olah data yang dieksekusi melalui store procedure. dan untuk menghapus tabel temporari dapat digunakan perintah drop diikuti dengan nama tabelnya (ex:drop #tmpsiswa)

Senin, 08 Juni 2009

Menggabungkan 2 kolom atau lebih

Dalam Kasus tertentu untuk membuat suatu report atau data baru kita harus menggabungkan data dari dua kolom atau lebih menjadi satu kolom dengan nama kolom yang baru.

Didalam aplikasi database dengan MYSQL Server sintak untuk menggabungkan 2 kolom atau lebih menjadi satu kolom dapat digunakan perintah concat(kolom1,kolom2). Contoh kasus yang kita ambil adalah dari sebuah data master mahasiswa mempunyai field alamat1 dan alamat2 tetapi dalam kondisi tertentu field alamat1 dan alamat2 digabung menjadi satu dengan identitas baru alamat.

Perintah yang digunakan untuk menhasilkan data seperti contoh kasus diatas adalah sebagai berikut :

Query untuk melihat data sebenarnya :

select cust_name,cust_alm,cust_alm2 from customer

Hasil :





Hasil yang diinginkan adalah cust_alm dan cust_alm2 digabung menjadi alamat
contoh hasil yang diinginkan :





Perintah yang digunakan adalah sebagai berikut :

select cust_name,concat(cust_alm,' ',cust_alm2) as alm_lengkap from customer

Ket :
,' ', :
merupakan fungsi untuk menempatkan tanda spasi diantara field yang digabung.
as alm_lengkap : field baru hasil dari perintah concat











Rabu, 03 Juni 2009

Mencari nilai bilangan bulat dan nilai pecahan terpisah

Dalam operasi aritmatika kita dikenalkan dengam berbagai macam fungsi, logika dan sintak dalam penulisan setiap fungsi antara satu aplikasi database dengan aplikasi database lainnya ada yang memiliki kesamaan atau mempunyai sintak sendiri - sendiri.

Dala artikel ini kita akan membahas bagaimana menghasilkan nilai bilangan bulat terpisah antara pecahan dan satuan. fungsi ini banyak digunakan untuk pengolahan data khususnya untuk data perusahaan industri, retail, perbankan,asuransi atau perusahaan.

Contoh kasus :

Dari Customer :
Customer dalam memesan item barang menuliskan dalam jumlah item (ex : 30 buah untuk item barang X)

Dari Inventori/Gudang:
Di dalam gudang item barang X mempunyai satuan : 1 / 12
maksudanya adalah 1 karton berisi 12 item barang X, sehingga data dari customer yang memesan item sebanyak 30 buah harus dikonversi menjadi berapa karton dan berapa item tersisa.

hasil konversi dari item ke karton:

30 item = 2 karton 6 item
= (2 * 12) + (30 - 2*12)
= 24 + 6
= 30

ket : 12 merupakan isi dari satu karton

Dengan perintah Query untuk menghasilkan karton dan sisa item adalah sebagai berikut :

select floor(30/12) as karton, (30%12) as item

contoh dalam bentuk data

Tabel Inventori Tabel Invoice







Hasil Query yang Diinginkan




Perintah SQL yang digunakan :





Selasa, 02 Juni 2009

MENGGUNAKAN FUNGSI IF DI MYSQL

Dalam setiap aplikaksi program penggunaan fungsi menjadi syarat mutlak dan merupakan tools yang sangat membantu untuk mempermudah dalam proses pengolahan data yang memerlukan pilihan dengan output yang berbeda-beda.

Mysql sebagai salah satu aplikasi yang sangat membantu dalam proses pengolahan data tidak tertutup dengan fungsi if dalam salah satu tools untuk pengolahan datanya.

Untuk artikel ini kita akan membahas mengenai penggunaan fungsi if untuk mengolah data dari sebuah tabel.

Contoh Kasus

Data Asli [ex:Tabel Rumah]








Hasil Query yang Diinginkan








Ketentuan untuk menghasilkan kolom jenis adalah sebagai berikut :

Jenis = Mewah jika satu karakter pertama dari kode rumah adalah M
Jenis = Sederhana jika satu karakter pertama dari kode rumah adalah S
Jenis = Lux jika satu karakter pertama dari kode rumah adalah L

Perintah query yang digunakan untuk menghasilkan Data seperti berikut diatas :


Free Blogger Templates by Isnaini Dot Com and Wedding Dresses. Powered by Blogger