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

SQL सर्वर में कर्सर का उपयोग करना बुरा व्यवहार क्यों माना जाता है?

क्योंकि कर्सर मेमोरी लेते हैं और लॉक बनाते हैं।

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

लेकिन, जब आप एक कर्सर खोलते हैं, तो आप मूल रूप से उन पंक्तियों को मेमोरी में लोड कर रहे होते हैं और उन्हें लॉक कर देते हैं, जिससे संभावित ब्लॉक बन जाते हैं। फिर, जैसा कि आप कर्सर के माध्यम से साइकिल चलाते हैं, आप अन्य तालिकाओं में परिवर्तन कर रहे हैं और अभी भी कर्सर की सभी मेमोरी और लॉक को खुला रखते हैं।

इन सभी में अन्य उपयोगकर्ताओं के लिए प्रदर्शन संबंधी समस्याएं पैदा करने की क्षमता है।

तो, एक सामान्य नियम के रूप में, अभिशापियों पर भ्रूभंग कर रहे हैं। विशेष रूप से यदि किसी समस्या को हल करने में यह पहला समाधान है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. यह पता लगाने के 3 तरीके कि क्या कोई कॉलम SQL सर्वर में एक कंप्यूटेड कॉलम है

  2. TABLESAMPLE पंक्तियों की गलत संख्या देता है?

  3. SQL सर्वर में इसकी आईडी से कॉलम का नाम प्राप्त करें:COL_NAME ()

  4. मैं एकाधिक कॉलम में डुप्लीकेट कैसे ढूंढूं?

  5. SQL सर्वर एजेंट जॉब (T-SQL) के जॉब स्टेप्स प्राप्त करने के 3 तरीके