আমার কাছে একটি নির্দোষ ডিবি টেবিল রয়েছে যা অনলাইন ব্যবহারকারীদের রেকর্ড করে। এটি কোন পৃষ্ঠায় রয়েছে সেগুলি এবং সাইটে তাদের শেষ অ্যাক্সেসের তারিখের উপর নজর রাখার জন্য এটি প্রতিটি পৃষ্ঠার রিফ্রেশে আপডেট হয় on আমার তখন একটি ক্রোন রয়েছে যা প্রতি 15 মিনিটের মধ্যে পুরানো রেকর্ড মুছে ফেলতে চালিত হয়।
লক পাওয়ার চেষ্টা করার সময় আমি একটি 'ডেডলক পেয়েছি; গতরাতে প্রায় 5 মিনিটের জন্য লেনদেন পুনরায় চালু করার চেষ্টা করুন এবং এই টেবিলটিতে INSERT গুলি চালানোর সময় এটি প্রদর্শিত হবে। এই ত্রুটি এড়াতে কীভাবে কেউ পরামর্শ দিতে পারেন?
=== সম্পাদনা ===
এখানে চলছে এমন প্রশ্নগুলি:
সাইটে প্রথম ভিজিট করুন:
INSERT INTO onlineusers SET
ip = 123.456.789.123,
datetime = now(),
userid = 321,
page = '/thispage',
area = 'thisarea',
type = 3
প্রতিটি পৃষ্ঠায় রিফ্রেশ করুন:
UPDATE onlineusers SET
ips = 123.456.789.123,
datetime = now(),
userid = 321,
page = '/thispage',
area = 'thisarea',
type = 3
WHERE id = 888
প্রতি 15 মিনিটে ক্রোন করুন:
DELETE FROM onlineusers WHERE datetime <= now() - INTERVAL 900 SECOND
এরপরে এটি কিছু পরিসংখ্যান লগ করার জন্য কিছু গণনা করে (যেমন: সদস্যগণ অনলাইনে, অনলাইনে দর্শক)।