Giriş Yap / Kayıt Ol

1Beğeni
  • 1 Yazan THEX3T4R

Cevap Yaz Favorilerime Ekle
Seçenekler Stil
Geri Git   Forum > > Programlama
smmturk

SQL Func veya C++ Call Func Bunun Cözüm yolu nedir ?

  #1  
Okunmamış 13 Ocak 2018, 14:11
THEX3T4R Adlı Üyenin Avatarı
cout <<"Selamun Aleyküm";
 
Üyelik Tarihi: 18 Kasım 2015
Yaş / Cinsiyet: 22 / Erkek
Konum: Siirt
Ad, Soyad: Re... Er...
Mesajlar: 662
Beğeniler: 185 / 26
Ticaret: 0, 0%
Merhabalar Dostlar ,

Bu aralar geliştirdiğim bir uygulama mevcut bunun için bir yerde takıldım yardımcı olur iseniz sevinirim.

C++ ile geliştirdiğim uygulamada bir bölümde son 1 dakika içinde online olanlar gibi bir bölüm mevcut.
Şuanda SQL bir tablo online diye hiç bir func olmayan bir tabloda standart int sayı olarak cekiyor ama ben bu tablodaki int sayıya nasıl olurda son 1 dakika içinde giriş yapan sayısını verebilirimki her veri cekildiğinde kac kişi olduğu yazılsın.

Şöyle bir Func yazdım ve bunun Execute yaptığımda bu sayıyı vermekte


ama işte mevzu şu ki ben bu veriyi sürekli nasıl alabilirim bu uygulamada bazı secenekler mevcut
C++ ile Bu func Call ederek kac tane tablo var sayısını yazdırma (nasıl Call edileceği konusunda bilgim yok C++'da)
Yada bu hiç bir özelliği olmayan Online adındaki tabloya nasıl 1 dakikada bir oto kendini güncellemesini ve bu veriyi almasını nasıl sağlaya bilirim.

Kısacası Uygulamanın bir bölümünde son 1 dakika içerisinde giriş yapan sayısını yazdırmak istiyorum nasıl yapabilirim yazılımsal olarak yardımcı olur iseniz sevinirim.
nGinY bunu beğendi.
palmara
  #2  
Okunmamış 13 Ocak 2018, 17:49
YazılımMimarı Adlı Üyenin Avatarı
Eski adi: Turgay Can
 
Üyelik Tarihi: 25 Haziran 2012
Yaş / Cinsiyet: 32 / Erkek
Ad, Soyad: Tu... Ca...
Mesajlar: 706
Beğeniler: 228 / 4
Ticaret: 0, 0%
İki şekilde olabilir.

1 - Client bunu dakikda bir datayı sorgular
- C++ -> https://github.com/Bosma/Scheduler gibi bir kütüphane ile scheduler edip, dakikada bir client üzerinde db'ye ilgili fonksiyon/ sorguyu çalıştırıp veriyi getirir.
2 - Data, client'a push edilir.
- Database (RDBMS) üzerinde scheduler job'lar oluşturulabilir. Dakikada bir çalıştırılacak şekilde ayarlanır ve içerisinden ilgili uygulama tetiklenebilir.

1. seçenek daha rahat görünüyor.
www.turgaycan.com || https://github.com/TurgayCan2
Kaliteli kod yazılır.. Ö.M ile soru sormayınız.
  #3  
Okunmamış 14 Ocak 2018, 01:21
THEX3T4R Adlı Üyenin Avatarı
cout <<"Selamun Aleyküm";
 
Üyelik Tarihi: 18 Kasım 2015
Yaş / Cinsiyet: 22 / Erkek
Konum: Siirt
Ad, Soyad: Re... Er...
Mesajlar: 662
Beğeniler: 185 / 26
Ticaret: 0, 0%
YazılımMimarı Peki ya SQL Job ile func her 30 saniyede bir çağırıp o online tablosuna yazdırmam ne kadar mantıklı oluru varmıdır ?
ek olarak 15-20 sn gibi bir sürede çağırılsa bu funcki on binlerce kayıt içinden ayıklama yapacak sistemi ne kadar yorar ?
  #4  
Okunmamış 14 Ocak 2018, 13:24
YazılımMimarı Adlı Üyenin Avatarı
Eski adi: Turgay Can
 
Üyelik Tarihi: 25 Haziran 2012
Yaş / Cinsiyet: 32 / Erkek
Ad, Soyad: Tu... Ca...
Mesajlar: 706
Beğeniler: 228 / 4
Ticaret: 0, 0%
Alıntı:
THEX3T4R Adlı Üyeden Alıntı
YazılımMimarı Peki ya SQL Job ile func her 30 saniyede bir çağırıp o online tablosuna yazdırmam ne kadar mantıklı oluru varmıdır ?
ek olarak 15-20 sn gibi bir sürede çağırılsa bu funcki on binlerce kayıt içinden ayıklama yapacak sistemi ne kadar yorar ?
Tablodaki kayıt sayısı ne kadar? RDBMS nedir(SQL Server, Oracle, MySQL)? + SQL Sorgunu paylaşır mısın?

--

Temel olarak kayıt sayısı milyar seviyesinde değilse, olsa dahi atılan sorgu çok komplekse değilse, ve tablo yapısıda devasa(sutun sayısı) değilse inan hiç bir sıkıntı yaratmaz
www.turgaycan.com || https://github.com/TurgayCan2
Kaliteli kod yazılır.. Ö.M ile soru sormayınız.
  #5  
Okunmamış 15 Ocak 2018, 23:35
THEX3T4R Adlı Üyenin Avatarı
cout <<"Selamun Aleyküm";
 
Üyelik Tarihi: 18 Kasım 2015
Yaş / Cinsiyet: 22 / Erkek
Konum: Siirt
Ad, Soyad: Re... Er...
Mesajlar: 662
Beğeniler: 185 / 26
Ticaret: 0, 0%
Şu yöntem ile cözüme ulaştım arkadaşlar

UPDATE Players_Online SET OnlinePlayers = (select count(uc.CustomerID) from UsersChars uc JOIN UserData ud ON ud.CustomerID = uc.CustomerID WHERE DATEDIFF(MINUTE, uc.LastUpdateDate, GETDATE()) <= 1) WHERE id = 1;
Konu THEX3T4R tarafından (16 Ocak 2018, 00:19 ) değiştirilmiştir.
Cevap Yaz Favorilerime Ekle


Konuyu toplam 1 kişi okuyor. (0 üye ve 1 Ziyaretçi)
 
Seçenekler
Stil
Normal Normal

Geri Git   Forum > Programlama


Yetkileriniz
Konu açma yetkiniz: Yok
Cevap Yazma Yetkiniz Yok
Eklenti yükleme yetkiniz: Yok
Mesajınızı değiştirme yetkiniz: Yok

BB code: Açık
İfadeler: Açık
[IMG] Kodları: Açık
HTML kodu: Kapalı




Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şu anki Zaman: 23:05.