• 03-12-2012, 14:22:10
    #1
    Öncelikle merhaba. Daha önceden çok konu açıldı ve herkes farklı bir öneride bulundu. Bu yüzden kafamdaki karışıklığı gidermek için bu konuyu açma gereksinimi duydum. Bu zamana kadar yaptığım kodlamalarda hep

    $query_news = "select * from news where setlang='$language' and site='$section' LIMIT 5";
    $row_news = mysql_query($query_news, $mysqlB) or die(mysql_error());
    $totalrows_news = mysql_num_rows($row_news);
    şeklinde düz mantık ilerledim. Genellikle kurumsal web siteleri yaptığım için performans açısından hiçbir endişem yoktu. Fakat hayalini kurduğum bir projeyi geliştirmek için en başından düzenli ve bana ileride sıkıntı çıkarmayacak şekilde çalışmalara başlamak istiyorum.

    Bu proje için nasıl bir kodlama yapmalıyım?
    Kodlarımın iyi bir performans gösterebilmesi ve sistemin güvenliği için nasıl çalışmalar yapmalıyım?

    Bu konudaki önerilerinize ihtiyacım var. Şimdiden ilginiz için teşekkür ederim.

    (Herhangi bir framework kullanmayı düşünmüyorum. Herşeyi sıfırdan kendim hazırlamak istiyorum. Çünkü bu şekilde kendimi daha iyi geliştirebileceğime inanıyorum.)
  • 03-12-2012, 14:59:13
    #2
    $query_news = "select * from news where setlang='$language' and site='$section' LIMIT 5";

    * yerine gerekli kolonlar
    setlang ve site kolonlarının da indexlenebilir olmasına dikkat etmek gerekir.
    bu diller int değerleri string değerlere göre daha çok severler.

    $query_news = "SELECT `id`,`header`,`permalink` FROM `news` WHERE `lang` = 1 AND `site` = 2 LIMIT 5";
  • 03-12-2012, 15:01:28
    #3
    miscel adlı üyeden alıntı: mesajı görüntüle
    $query_news = "select * from news where setlang='$language' and site='$section' LIMIT 5";

    * yerine gerekli kolonlar
    setlang ve site kolonlarının da indexlenebilir olmasına dikkat etmek gerekir.
    bu diller int değerleri string değerlere göre daha çok severler.

    $query_news = "SELECT `id`,`header`,`permalink` FROM `news` WHERE `lang` = 1 AND `site` = 2 LIMIT 5";
    Bu alanlar dinamik olduğu için değişkene bağlı.
  • 03-12-2012, 15:05:51
    #4
    nasıl değişken bunlar, örnek sorgu yazabilir misin ya da örnek kod
  • 03-12-2012, 15:44:47
    #5
    Üyeliği durduruldu
    öncelikle proje yapıcaksan frameworke geç ezSql database frameworkü favorimdir.
    Sürekli güncellenmeyen alanlarda cache kullan,
    döngü içerisinde döngü kullanmaktan kaçın,
    her zaman yaptığın işlemin daha kısa yolu olup olmadığını araştır var ise onu kullan
  • 03-12-2012, 15:46:54
    #6
    arkadaşın dediğine benzer birşey
    örneğin select *from abc where bilmemne=1 limit 5
    dediniz bu sorgudan sadece mysql_num_rows ile satır sayısını alıcaksanız
    select yıldız yerine
    select count(id) as sayi from abc where bilmemne=1 limit 5 demek daha iyi olucaktır.
    yalnız bunun daha iyi olması için count(id) arasında yazdığım id sütünün indexi olan bir sutun olması durumunda performans artar çünkü index i olan sütünların satır sayısı index de kayıtlıdır.
    gerçi limit ile yapılan işlemlerde pek bu farkı anlayamazsınız ama
    select * from abc ile select count(id) as sayi from abc sorgularını deneyerek karşılaştırırsanız aradaki farkı daha iyi görürsünüz.

    arkadaşın dediğiniz select * yerine select a,b,c gibi sutun adlarını girerek sorgu oluşturmak * dan daha iyidir yalnız burda bir püf nokta sutun isimlerini yazarken index i olanı en başa yazınız.

    ek olarak da eğer mümkünse bütün sorgularınızda limit kullanmak performansı önemli ölçüde arttıracaktır.
  • 03-12-2012, 21:32:47
    #7
    Kimlik doğrulama veya yönetimden onay bekliyor.
    native mysql'i birakip mysqli veya PDO'ya geçerek başlayabilirsin olaya.. Performans açısından değilde ilerde PHP "Canım Mysql Deprecated" dermi der Gidişat o yönde
  • 03-12-2012, 21:38:56
    #8
    Romansanta adlı üyeden alıntı: mesajı görüntüle
    native mysql'i birakip mysqli veya PDO'ya geçerek başlayabilirsin olaya.. Performans açısından değilde ilerde PHP "Canım Mysql Deprecated" dermi der Gidişat o yönde
    Peki başlangıç olarak ne tavsiye edersin? Yani tam olarak nereden başlamamı tavsiye edersin? Al şunu oku bu bilgi başlangıç için sana iyi gelecektir dediğin bir örnek var mı?
  • 03-12-2012, 21:42:45
    #9
    Üyeliği durduruldu
    bu soruların cevabını öğrendikçe kendin vereceksin
    OOP öğrenin
    PDO kullanın

    proje yapısı olarak framework kullanın