mysql - लॉक टेबल का पता लगाना(लॉक टेबल द्वारा लॉक किया गया)



locking (4)

आप GET_LOCK (लॉकनेम, टाइमऑट) के साथ अपना स्वयं का लॉक बना सकते हैं

यदि आप टेबल से लॉक करने से पहले 0 समय के साथ एक GET_LOCK(lockName, 0) करते हैं और उसके बाद एक RELEASE_LOCK(lockName) साथ अनुसरण करते हैं, तो GET_LOCK() प्रदर्शन करने वाले अन्य थ्रेड्स को 0 का मान मिलेगा जो उन्हें बताएगा ताला एक और धागे द्वारा आयोजित किया जा रहा है।

हालाँकि यह काम नहीं करेगा यदि आपके पास तालिकाओं को लॉक करने से पहले GET_LOCK() कॉल करने वाले सभी धागे नहीं हैं। तालिकाओं को लॉक करने के लिए प्रलेखन here

उम्मीद है की वो मदद करदे!

https://src-bin.com

क्या MySQL में लॉक टेबल का पता लगाने का कोई तरीका है? मेरा मतलब है कि LOCK TABLE table WRITE/READ कमांड द्वारा लॉक की गई LOCK TABLE table WRITE/READ

(ध्यान दें कि GET_LOCK साथ प्राप्त किए गए ताले का पता लगाने में रुचि रखने वाले पाठकों को इसके बजाय get_lock से सभी वर्तमान ताले दिखाएं ।)


Answer #1

आप प्रत्येक तालिका की लॉक स्थिति दिखाने के लिए SHOW OPEN TABLES का उपयोग कर सकते हैं। कमांड के डॉक पेज पर अधिक विवरण http://dev.mysql.com/doc/refman/5.1/en/show-open-tables.html


Answer #2

सबसे सरल तरीका है:

SHOW OPEN TABLES WHERE In_use > 0

आपको केवल मौजूदा डेटाबेस के लॉक किए गए टेबल मिलते हैं।






locking