Mysql Performanslı Sayfalama Yapmak

PHP ve MySQL ile veritabanı işlemlerine girdiğinizde bu tarz bir uygulama ile karşılaşacaksınız. Nerede derseniz de, en çok verileri sayfalama işlemlerinde elbet. Bu noktada, performans açısından öğrenmeniz gereken bir sorgu var. Çok işinize yarayacak. Buyurun bakalım icon smile MySQL sorgusunda LIMIT kullanırken toplam satır sayısını bulmak
Normalde, MySQL sorgusundaki toplam satır sayısı nasıl bulunur?

Normal seviyedeki kullanıcılar bu işlemi alttaki sorgular ile gerçekleştirecektir.

SELECT COUNT(*) FROM sehir WHERE sehir_ad LIKE 'a%';
SELECT sehir_ad, tel_kod FROM sehir WHERE sehir_ad LIKE 'a%' LIMIT 0,2;

Buradaki ilk sorgu ile koşulumuza uyan tüm şehir isimlerini bulduk. Hani sayfalama bölümü yapacağız ve bu sorguya uyan toplam veri adeti lazım, işte burada bulduk onu.

Sıra geldi listelemeye. Ancak hepsini değil, sadece ikişer ikişer listelemek istiyoruz. O nedenle ilk 2 veriyi aldık.

Genelde yukarıdaki mantıkla bu işlem yürütülür. Ancak ilk satırda toplam veri adetini bulmak için yaptığımız sorgu, sistemi yoracaktır. O nedenle alttaki yöntem performans açısından en güzeli icon wink MySQL sorgusunda LIMIT kullanırken toplam satır sayısını bulmak
Daha performanslı bir sorgu

Üstteki sorgumu alttaki gibi değiştiriyorum.

SELECT SQL_CALC_FOUND_ROWS sehir_ad, tel_kod FROM sehir WHERE sehir_ad LIKE 'a%' LIMIT 0,2;
SELECT FOUND_ROWS();

Bu kez ilk satırın başına SQL_CALC_FOUND_ROWS ekledim ve sorgu koşuluma uyan 2 satırı çektim. İkinci satırda ise özel bir sorgu yaptım. MySQL 4 sürümü ile birlikte gelen FOUND_ROWS kullandım. İlk sorgumuz yapılıyor ve sadece 2 adet veri çekiliyor. Ancak başına eklediğim SQL_CALC_FOUND_ROWS terimi sayesinde, bu koşula uyan toplam veri sayısı da hafızaya alınıyor. Hemen ardından yaptığım (ki bu önemli, önceki sorgudan hemen sonra yapılması gerekiyor) FOUND_ROWS sorgusu ile de hafızadaki toplam veri değerini aldım.

kaynak http://www.dmry.net/mysql-sorgusunda-limit-kullanirken-toplam-satir-sayisini-bulmak/

Dar Ayakkabı…

O bayram bana ayakkabı almaya karar verdiler.
Hazır ayakkabı satan mağaza yoktu şehirde.
Tek ayakkabı yapan dükkânında ayakkabıcı çıplak ayağımı bir kartonun üzerine koydu, iyice basmamı söyledikten sonra ağzındaki kurşun kalemi eline alıp ayağımın çevresini çizdi.
O ayağımın çizildiği karton benim ayakkabı numaramdı.
Günlerce yeni ayakkabılarımın hayalini kurdum.
Babamın anlattığına göre ayakkabılarım siyah ve bağcıklı olacaktı.
Kapının her çalınışında koştum.
Ayakkabılarım bayramdan bir gün önce geldi, siyah-bağcıklı.
O gün onları giymedim.
Bayram gecesi yatağımın altına yerleştirdim yeni ayakkabılarımı.
Arada bir kalkıp kutusundan çıkartıyor, yere koyuyor, yukarıdan, yandan, önden bakıp duruyordum.
Parlak ve yuvarlak burnunu gecenin karanlığında kim bilir kaç kez okşadım.
Uyku girmedi gözüme.
Sabahleyin ev ahalisi kalktığında, ayakkabı kutusu kucağımda sandalyede oturuyordum ben.
Ayakkabımı babam giydirdi.
Ayağıma olmamıştı ayakkabılarım, dardı ve canımı yakmıştı.
Ama bunu babama söylemedim.
O ‘Sıkıyor mu? ‘ diye sordukça ‘Hayır’ yanıtını veriyordum.
‘Dar, ayağımı acıtıyor’ desem, geri gidecekti ayakkabılarım ve ayakkabıcının hemen bir yeni ayakkabı yapması olanaksızdı.
O bayram sabahı canım yana yana yürüdüm.
Bir süre sonra acı dayanılmaz oldu.
Dişimi sıktım.
Topalladım.
Soranlara ‘Dizimi vurdum’ dedim, ama ayakkabılarımın ayağımı sıktığını kimseye söylemedim.
**********
Doğrusunu isterseniz yaşam dar ayakkabıyla yürümektir.
Kimi zaman dar bir maaş, kimi zaman sevimsiz bir iş…
Kimi zaman bir mekân dar ayakkabı olur bize, kimi zaman bir çevre,
Kimi zaman bir sokak, ya da bir şehir…
Kimi zaman dostluklar, arkadaşlıklar, beraberlikler bir dar ayakkabıya dönüşür.
Kimi zaman zamandır dar ayakkabı, geçmek bilmez.
Kimi zaman zenginlik, kimi zaman başınızı koyduğunuz yastık…
Canınız yanar.
Topallaya topallaya gidersiniz.
Sonradan öğrendim yaşamın dar ayakkabıyla yürüme sanatı olduğunu…
Alıntı…

PHP’de DEBUG işlemi : var_dump() yerine dbug kullanma

var_dump komutu NEDIR : Degiskenin veya degiskenlerin degerlerini gormek ve turunu ogrenmek icin kullanilir. Ozellikle Php de hata ayiklamada can kurtarici ozellige sahiptir 😉

internette dolanrken php icin bir debug kutuphanesi buldum.. Bu kutuphane var_dump() islevini yapiyor ve gorunumu daha profesyonel.

Bunu codeigniter a nasil adapte ederiz onu anlaticam…

Alıntı:

1 : http://dbug.ospinto.com/ adresinden dbug kutuphanesini indiriyoruz ve projemizin application/libraries altina kopyaliyoruz.

2 : ismini Dbug.php olarak degistiriyoruz.

3: Dbug.php dosyasini aciyoruz.

Alıntı:

function Dbug(){} seklinde bos bir constructor olusturuyoruz.


Alıntı:

function dBug($var,$forceType=””,$bCollapsed=false) fonksiyonunu da function

show($var,$forceType=””,$bCollapsed=false) olarak degistiriyoruz


ve kaydedip cikiyoruz.

4: autoload.php dosyamizin library bolumune dbug kutuphanesini ekliyoruz.

hersey bukadar…

Ornek :

PHP Kodu:

<?php echo $this->dbug->show($this->session->userdata); ?>


codeigniter fw de degilde normal php kodunda kullanmak icin ise

PHP Kodu:

include_once("dBug.php");


seklinde kutuphaneyi include edip degerleri gormek istediginiz yerde

PHP Kodu:

new dBug($myVariable);


demeniz yeterli…

kaynak http://forum.ceviz.net/php/93290-var_dump-yerine-dbug-kullanma.html

Biraz Gülelim….

Bir üniversitede yemekhaneye giren bir öğrenci tüm yerler dolu olduğundan gidip üniversite profesörünün oturduğu masaya oturmuş.

Profesör kaşlarını çatarak: ” Öküzler ve kuşlar ayni masada oturamaz!”

Öğrenci: “O zaman ben uçuyorum…”

Profesör cevaba çok sinirlenmiş, sınavda öğrenciye takmış ve sınavını başarısız geçmesi için elinden geleni yapmış.

Yalnız sınavda öğrenci tüm soruları mükemmel bir şekilde cevaplamış.

Profesör öğrenciye: Sana son bir soru soracağım demiş.

Yolda yürürken iki torba bulduğunu düşün;

Birinde akil var, diğerinde ise para var. Hangi çuvalı alırsın?

Öğrenci: “Para olan çuvalı seçerdim…”

Profesör: “Ben akil olan çuvalı seçerdim…”

Öğrenci:”Normal! Kimde ne eksikse onu seçer…

Profesör çok sinirlenmiş, öğrencinin not defterini alıp içine

“Öküz” yazmış. Öğrenci nota bakmadan odadan cıkmış.

Bir dakika sonra öğrenci kapıyı aralamış : “Sayın profesör, imzanızı atmışsınız, fakat notumu yazmayı unutmuşsunuz.” demiş.