Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SQL सर्वर, तालिका का उपयोग कतार के रूप में करता है

नॉन-पूलिंग ब्लॉकिंग डीक्यू प्राप्त करने का एकमात्र तरीका है WAITFOR (RECEIVE) . जिसका अर्थ है सर्विस ब्रोकर कतार, सभी अतिरिक्त ओवरहेड के साथ।

यदि आप साधारण टेबल्स को क्यू के रूप में उपयोग कर रहे हैं आप गैर-मतदान अवरोधन प्राप्त करने में सक्षम नहीं होंगे। आपको डेक्यू ऑपरेशन के लिए पूछकर कतार को मतदान करना चाहिए, और यदि यह कुछ भी नहीं लौटाता है, तो सोएं और बाद में पुनः प्रयास करें।

मुझे डर है कि मैं यहाँ एंडोमर से असहमत होने जा रहा हूँ:जबकि उसका उत्तर एक सामान्य प्रश्न के रूप में काम करता है 'क्या तालिका में कोई पंक्तियाँ हैं?' जब कतार की बात आती है, तो अतिव्यापी एनक्यू/डेक्यू की व्यस्त प्रकृति के कारण, इस तरह की पंक्तियों की जांच लोड के तहत एक (लगभग) गारंटीकृत गतिरोध है। जब टेबल को कतार के रूप में उपयोग करने की बात आती है, तो किसी को हमेशा मूल एनक्यू/डेक्यू ऑपरेशंस से चिपके रहना चाहिए और फैंसी सामान की कोशिश नहीं करनी चाहिए।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एसक्यूएल सर्वर में बाइट सरणी सहेजें

  2. TSQL दो सेटों की तुलना

  3. पेड़ पदानुक्रम प्राप्त करने के लिए सीटीई रिकर्सन

  4. एसक्यूएल सर्वर में डेटाटाइम का आंतरिक प्रतिनिधित्व क्या है?

  5. SQL सर्वर पर DEADLOCK का अनुकरण कैसे करें?