İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Mysql de ençok tekrar eden veriyi alma

i.ari

0
İyinet Üyesi
Katılım
16 Aralık 2006
Mesajlar
4,437
Reaction score
6
Konum
Ankara
Merhaba arkadaşlar,
Birden fazla tablom var. Veri sayısı baya fazla

Birden fazla tablomun veri sayısını alacagım.

Sizce en az sistem tüketimi yapan kod hangisidir?

Öneri bekliyorum. sunucuyu kasmaması için. Yeterince sunuyu kasan kodlar var birde bu olursa baya kasacak.
 

...::LorD::...

0
İyinet Üyesi
Katılım
27 Aralık 2007
Mesajlar
2,109
Reaction score
1
Konum
cHeteM
bilgilerini sürekli güncel mi çekeceksin? eğer sürekli güncel olmayacaksa bir tablo oluştur haftada bir (örnek süre) crontab ile dosyayı çalıştır oluşturduğun tabloya verileri çeksin. böylece bir kaç tabloyla uğraşmamış olursun
 

...::LorD::...

0
İyinet Üyesi
Katılım
27 Aralık 2007
Mesajlar
2,109
Reaction score
1
Konum
cHeteM
eğer saniyelik veri alacaksan normal çekmekten başka bir yolun yok gibime geliyor. sunucuyu kasmayacak en iyi şekilde kodlamasını yapman yeterli olacaktır.

ama yok 1 saatte bir alacam 5 saatte bir alacam gibiyse crontabla bir sayfa çalıştır db'de bir tabloyu güncellesin belirtlediğin zaman diliminde.

şunu da sorayım veriler kullanıcı bilgisi filan mı yoksa haber vs. tarzında mı scriptten bahsedeblir misin?

örnek vereyim

bir alışveriş sitesi olsun kişi alışveriş yapacak sen sitenin bir köşesinde kişinin para durumunu gösteriyorsun farz edelim. üye giriş yaptığında session oluşturursun para durumunu gösterecek yerede db'den veri çekeceğine session'u yazdır. kişi işlem yapmadığı sürece session öyle kalsın.

mesela kişi alışveriş yaptı para eksildi yükseldi işlem neyse artık işlem sonunda db'den para durumunu çekersin yine sessiona atarsın. böylece sunucuyu kasmaz diye düşünüyorum.
 

desoLate

0
İyinet Üyesi
Katılım
14 Haziran 2006
Mesajlar
220
Reaction score
0
Tablodaki veri sayısını alacaksan sadece, .txt bir dosya oluştur. Oraya bir kere toplam veriyi yazdır. Sonra veri eklenirken 1 arttırırsın, veri silinirken de 1 azaltırsın. Böylece elinde güncel bir sayı olur. Göstermek istediğin yerde de .txt'yi okutup çekersin. Bu da bir yöntem.
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
İstatistik tutumu için büyük tablolarda COUNT(), SUM() gibi şeyler yerine trigger kullanımı daha hayırlıdır. Trigger (tetik), belirli operasyonları dinliyip ona göre database de bazı işlemler tetikleyen mekanizmalardır.


Senin örneğin için bir istatistik tablosu oluşturulur.

id (int - auto increment)
tablo_adi (tinytext)
kayit_sayisi (int)

Trigger'ı oluşturmadan bugünün mevcut sayısını girelim.

INSERT into istatistikler
(tablo_adi,kayit_sayisi) VALUES ('blog_postlari','22857');

Daha sonra blog_postlari tablosu icin bir trigger olusturalim, buna gore bu tabloya yapilan her insertten sonra sayiyi bir arttiracagiz.

--
CREATE TRIGGER stat1
AFTER INSERT ON blog_postlari
FOR EACH ROW
UPDATE istatistikler SET kayit_sayisi=kayit_sayisi+1 WHERE tablo_adi='blog_postlari';
--

Daha sonra istatistiği tek satırdan okuyabilirsin. Her insertten sonra kayıt sayısı otomatik olarak istatistik tablosunda arttırılacaktır.
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst