Soru SQL tabanlı sistemler şişme yapar mı?

  • Konuyu açan Konuyu açan texas1343
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 3
  • Gösterim Gösterim 80
Herhangi bir konuda danışmak istediğiniz soru varsa bu öneki seçebilirsiniz.

texas1343

MT Üye
MT Üye
Mesaj
579
Çözümler
25
Beğeni
353
Puan
799
Ticaret Puanı
0
İyi akşamlar SQL tabanlı sistemler game değerlerini şişerme yapar mı?

Örnek;
Bende Av görevleri ve reward sistemi var bu iki sistemde ödül havuzu sqldan geliyor bun bir zararı var mı core değerlere?
 
Kodlara göre değişir. Şişme yapmasa bile temiz ve güvenli bir kod için işlem sonrası kullanılan komut işaretçisini silmekte fayda var.

Örneğin(eski yapı):
C++:
Genişlet Daralt Kopyala
void Test()
{
    SQLMsg * pMsg = CDBManager::instance().DirectQuery(szQuery);
    ..
    .....
    //pMsg ile ilgili işlemler yapılır,
    // INSERT_INTO vs vs..
    ....
    ..
  
    // EN SON YAPILMASI GEREKEN:
    delete pMsg; // işaretçiyi sil.
}

Veya bu gibi manuel yönetim yerine direkt smart pointer kullanırsın(yeni yapı):
C++:
Genişlet Daralt Kopyala
void Test()
{
    //SQLMsg* pMsg = CDBManager::instance().DirectQuery(szQuery); // ESKİ TANIM
  
    // YENİ TANIM
    std::auto_ptr<SQLMsg> pMsg(CDBManager::instance().DirectQuery(szQuery));
    ...
        ....
    ....
    // işlemler falan yapılır
    // En son elle silmeye gerek yok, fonksiyon bitince pMsg kendi kendini yok eder
}

Great offline shop gibi mysql'in ırzına geçen sistemlerde bu mantığın kullanılması daha uygun olur.
Eğer sormak istediğin şey sadece mysql'dan veri çekilmesi ise, hayır sorun olmaz. ID ve şifre yazıp entera bastığın anda her şey mysqldan geliyor zaten. Karakterin adı, leveli,hp,sp,lonca cart curt.. önemli olan kodların temizliği ve düzeni.
 
Merhaba,

@Kaiser adminin dediği doğrudur fakat teknik olarak bilgi vermek gerekirse Metin2 sistemleri haricinde SQL sistemlerinde sütunlar ve veriler arttıkça bu verileri çektiğinizdeki sürede doğru orantıda artmaktadır bu da sisteminizin CPU'suna yük olmaktadır. Örneğin Metin2 web sitesi üzerinde 1 milyon karakter verisini çektiğinizde bu oyununuza aşırı derecede kasma yapacaktır çünkü Public IP üzerinden veri aktarımı sağlamaktasınız fakat oyuna girerken ID ve Şifreyi girerken 1 milyon veri arasında araştırıp sizin hesabınızı bulması sadece 1 saniye sürecektir bu da localhost yani ağ içi bağlantı olduğundan dolayı gerçekleşiyor. Büyük mimarilerde Load Balancer kullanıyoruz çünkü yük ne kadar dengelenirse ve ziyaretçinin bağlandığı lokasyon ne kadar yakın olursa o kadar ping süresi ve yük süresi azalmaktadır.

Bundan dolayı SQL olarak en güncel versiyonu kullanmak ve gerektiğince mimaride sütun ve az sorgulama işlemleri kullanmak her proje için önemlidir.
 
Geri
Üst