Çevrimiçi kullanıcıları kaydeden bir innoDB tablo var. Hangi sayfalarda olduklarını ve siteye son erişim tarihlerini takip etmek için her sayfa yenilemesinde kullanıcı tarafından güncellenir. Sonra eski kayıtları silmek için her 15 dakikada bir çalışan bir cron var.
Kilitlenmeye çalışırken bir kilitlenme buldum; işlemi dün gece yaklaşık 5 dakika yeniden başlatmayı deneyin ve INSERT'leri bu tabloya çalıştırırken olduğu görülüyor. Birisi bu hatadan nasıl kaçınılacağını önerebilir mi?
=== DÜZENLE ===
Çalışan sorgular şunlardır:
Siteye İlk Ziyaret:
INSERT INTO onlineusers SET
ip = 123.456.789.123,
datetime = now(),
userid = 321,
page = '/thispage',
area = 'thisarea',
type = 3
Her sayfada yenileme:
UPDATE onlineusers SET
ips = 123.456.789.123,
datetime = now(),
userid = 321,
page = '/thispage',
area = 'thisarea',
type = 3
WHERE id = 888
Her 15 dakikada bir Cron:
DELETE FROM onlineusers WHERE datetime <= now() - INTERVAL 900 SECOND
Daha sonra bazı istatistikleri kaydetmek için bazı sayılar yapar (örneğin: çevrimiçi üyeler, çevrimiçi ziyaretçiler).