Merhaba, Kuyruk sistemi en basit haliyle ne işe yarar; yapılacak işin, o an için bir yere yazılıp (iş akışını engellememek için) daha sonra uygun vakitte yazılan yerden okunarak işleme konmasına.
Bu durumda olay bir yerlere *işlem'*i yazarken durmamaktan geçiyor.... MySQL de INSERT DELAYED<http://dev.mysql.com/doc/refman/5.5/en/insert-delayed.html>bunun bir çözümü olabilir. (MyISAM) Gelelim lock olayına; MySQL de Tablo tipine göre kilitleme işlemi değişiklik göstermektedir. InnoDB için row-level MyISAM için table-level kilitleme yapılır. Bu iki kilitleme arasındaki fark için bir sorun ve verilen cevaplar iş görecektir http://dba.stackexchange.com/questions/21075/way-to-prevent-queries-from-waiting-for-table-level-lock "`messages` tablosuna saniyede çok sayıda insert yapıldığını düşünürsek yaptığım sorgu bitmeden başka bir mysqlClient veya thread insert yapabilir mi?" Yapmasını istemiyoranız *transaction* içinde işlemi yapmalısınız, veya tutarlılığı kendiniz sağlamalısınız. Mesela tabloda *datetime* alanı olur. Buraya göre *select* sorgunuzu yaparsanız, *WHERE* koşuluna yazdığınız "* datetime*"'ı başka bir yere yazar daha sonra tekrar burdan okuyup o tarihten sonraki *X* kaydı çekebilirsiniz. Arada yapılan *insert* işlemleri sizi etkilemez. Çünkü işleri belirli bir *tarihe* göre çekip kullanıyorsunuz. transaction desteklemeyen engine için, tutarlılık sağlamak için tabloya * Kilit* koyabilirsiniz. (tabi başka sorunlara yol açacaktır.) Bu işler böyle iken bu sorunların çözümü için üretilen MQ sistemleri mevcuttur. Kuyruk sistemi olarak ne kullanılabilir ? Bununla ilgili daha önce bir konuşma geçmişti çok faydalı olacağını düşünüyorum. http://friendfeed.com/umutgokbayrak/7e6d18a5/bir-suredir-zeromq-ile-epey-hasir-nesir Umarım yardımcı olabilmişimdir. Volkan Altan http://volkanaltan.com/ İyi Çalışmalar. 2012/12/30 Hakan Yalçın <[email protected]> > Merhaba > > Mysql'de Union ile aşağıdakine benzer bir sorgu yapıyorum. > > (SELECT content FROM `messages` WHERE id=5) UNION ALL (SELECT id FROM > `users` ORDER BY id DESC LIMIT 0, 1) > > > `messages` tablosuna saniyede çok sayıda insert yapıldığını düşünürsek > yaptığım sorgu bitmeden başka bir mysqlClient veya thread insert yapabilir > mi? > > Yani kuyruk sistemi tam olarak nasıl çalışıyor? Aynı anda çalışan sorgu > var mı yoksa bildiğimiz kuyruk sistemi mi? Biri bitmeden diğer çalışmıyor > bekliyor gibi mi? > > İyi çalışmalar. > > _______________________________________________ > Linux-programlama mailing list > [email protected] > https://liste.linux.org.tr/mailman/listinfo/linux-programlama > Liste kurallari: http://liste.linux.org.tr/kurallar.php > >
_______________________________________________ Linux-programlama mailing list [email protected] https://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php
