netbozum
tr.link

Mysql insert'i adım adım yaptırmak ?

5 Mesajlar 853 Okunma
acebozum
tr.link

emresycn emresycn WM Aracı Kullanıcı
  • Üyelik 06.09.2017
  • Yaş/Cinsiyet 37 / E
  • Meslek TCDD Personel
  • Konum Kütahya
  • Ad Soyad E** S**
  • Mesajlar 3
  • Beğeniler 0 / 1
  • Ticaret 0, (%0)
Merhaba arkadaşlar,
Sorunum şöyle bir bildiri sistemim var ve yeni içerik eklenildiğinde onu takip eden kullanıcılara bildiri gönderebilmesi için veritabanına yazdırıyorum. O içeriği takip eden üye sayısı yüksek olduğunda yeri geldiği zaman 4000 bin insert işlemini birden yapıyor. Bu da tabi ki anlık olarak veritabanını çok zorluyor. Bunu adım adım yani 200/4000 400/4000 gibi yapabilme şansımız var mı? Sayfalama sistemi uygun olanı sanırım fakat örnek bir kod ya da uygulama bulamadım hiç.

Kullandığım kod

// WHO BOOKMARK THIS ?
$thisManga = $db->Query(APP_TABLES_PREFIX. 'manga_mangas', 'id,name', array('slug'=>$_POST['manga']),null,null,null,1);
$mid = $thisManga['0']['id'];
$mid1 = $thisManga['0']['name'];
$whoBookmark = $db->Query(APP_TABLES_PREFIX. 'manga_bookmark', 'user', array('manga'=>$mid));
foreach($whoBookmark as $one){
mysql_query("UPDATE ".APP_TABLES_PREFIX."user SET bildiri = bildiri + 1 WHERE id = '$one[user]'");
$db->Create(APP_TABLES_PREFIX . 'manga_notification', array('user'=>$one['user'], 'type'=>'info', 'url'=> $lang['manga_slug'].'-'.$_POST['manga'].'.html', 'message'=>sprintf($lang['New-chapter'], $mid1, $chapter)));
}
 

 

googleasistan
reklam

JumperTech JumperTech Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 02.07.2016
  • Yaş/Cinsiyet 39 / E
  • Meslek Webmaster
  • Konum İstanbul Avrupa
  • Ad Soyad B** O**
  • Mesajlar 1705
  • Beğeniler 820 / 523
  • Ticaret 19, (%100)
Herkese insert yapacağınıza başka bir algoritma türetseniz de olabilir.
 

 

emresycn emresycn WM Aracı Kullanıcı
  • Üyelik 06.09.2017
  • Yaş/Cinsiyet 37 / E
  • Meslek TCDD Personel
  • Konum Kütahya
  • Ad Soyad E** S**
  • Mesajlar 3
  • Beğeniler 0 / 1
  • Ticaret 0, (%0)
Acaba bir adet içeriği tam olarak yazdırıp diğer tabloya bu içeriğinin id sini ve user id mi yazdırmalıyım ki, bu şekilde daha hızlı bir sonuç elde edilebilir gibi.

Ama bunda da içerik id sini anlık olarak nasıl alabilirim diğer tabloya yazdırmak için onu düşünmek gerek.


Onun cevabı da sanırım

mysql_insert_id();
 

 

emresycn emresycn WM Aracı Kullanıcı
  • Üyelik 06.09.2017
  • Yaş/Cinsiyet 37 / E
  • Meslek TCDD Personel
  • Konum Kütahya
  • Ad Soyad E** S**
  • Mesajlar 3
  • Beğeniler 0 / 1
  • Ticaret 0, (%0)

JumperTech adlı üyeden alıntı

Herkese insert yapacağınıza başka bir algoritma türetseniz de olabilir.


Algoritmayı bir önce ki mesajımda dediğim gibi değiştirdim.

Bir adet bildiri metni giriyorum ve başka bir tabloya bu bildiri metninin id sini ve userid giriyorum. Veriyi çekerken de INNER JOIN ile çekiyorum. Çok iyi oldu neden daha önce aklıma gelmedi acaba.
JumperTech

kişi bu mesajı beğendi.

wmaraci
wmaraci

ontedi ontedi www.ontedi.com Kullanıcı
  • Üyelik 03.10.2013
  • Yaş/Cinsiyet 44 / E
  • Meslek Yazılım Uzmanı, Matematikçi
  • Konum Ankara
  • Ad Soyad S** T**
  • Mesajlar 1118
  • Beğeniler 325 / 324
  • Ticaret 2, (%100)
kullanici_bildirileri adlı tablo yap.

id, bildiri_id, kullanici_id, okundu

kullanıcı giriş yaptığında bu tabloyu kontrol ettir. Eğer ki kayıt varsa bildiri görünsün. Okunmamışsa bildiri görünmesin.
 

 

www.ontedi.com
www.cizgi.site
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al