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

इसका क्या मतलब है जब मैं कहता हूं कि तैयार बयान पूर्व-संकलित है?

जब आप तैयार कथन (यानी पूर्व-संकलित कथन) का उपयोग करते हैं, जैसे ही डीबी को यह कथन मिलता है, यह इसे संकलित करता है और इसे कैश करता है ताकि यह उसी कथन की लगातार कॉल के लिए अंतिम संकलित कथन का उपयोग कर सके। तो यह लगातार कॉल के लिए पूर्व-संकलित हो जाता है।

आप आम तौर पर बाइंड वेरिएबल्स के साथ तैयार स्टेटमेंट का उपयोग करते हैं जहां आप रन टाइम पर वेरिएबल प्रदान करते हैं। अब तैयार बयानों के लगातार निष्पादन के लिए क्या होता है, आप वेरिएबल प्रदान कर सकते हैं जो पिछली कॉल से अलग हैं। डीबी के दृष्टिकोण से, इसे हर बार स्टेटमेंट को संकलित करने की आवश्यकता नहीं है, बस रम समय पर बाइंड वेरिएबल्स को सम्मिलित करेगा। तो तेज़ हो जाता है।

तैयार किए गए बयानों के अन्य लाभ हैं :-

1)एसक्यूएल-इंजेक्शन हमले के खिलाफ सुरक्षा

2) समान कथनों की लगातार कॉल के लिए तेज़

यह कैसे काम करता है :-

  1. प्रीकंपिलेशन डेटाबेस द्वारा किया जाता है। कुछ सरल डेटाबेस बयानों को बिल्कुल भी पूर्व-संकलित नहीं करते हैं। अन्य लोग इसे प्रिपेयरस्टेटमेंट कॉल पर प्रीकंपाइल कर सकते हैं, और फिर भी अन्य इसे तब कर सकते हैं जब स्टेटमेंट को पहले स्टेटमेंट पर निष्पादित किया जाता है, स्टेटमेंट को संकलित करते समय मापदंडों के मूल्यों को ध्यान में रखते हुए (इसके लिए एक योजना बनाते हुए)।

  2. डेटाबेस जो प्रीकंपाइल स्टेटमेंट करते हैं, आमतौर पर उन्हें कैश करते हैं, इसलिए सभी संभावनाओं में ps1 को फिर से संकलित नहीं किया जाएगा। कुछ JDBC ड्राइवर (जैसे। Oracle) यहां तक ​​​​कि कैशे तैयार स्टेटमेंट भी हैं, इसलिए जब ps.close() को कॉल किया गया था, तो उन्होंने वास्तव में इसे बंद नहीं किया था।

  3. डेटाबेस आमतौर पर स्टेटमेंट को कैश करते हैं जब तक कि कुछ उन्हें कैश से बेदखल न कर दे।

विवरण के लिए यह wiki देखें। लिंक



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या क्वेरी करने का कोई तरीका है कि क्या सरणी फ़ील्ड में Doctrine2 में एक निश्चित मान है?

  2. JSON_VALUE () MySQL में

  3. सप्ताह और महीने की शुरुआत के लिए MySQL दौर की तारीख

  4. PHP/MySQL में पुनरावर्ती टिप्पणियों को लागू करना

  5. क्या मैं समूह के साथ गैर-कुल कॉलम का उपयोग कर सकता हूं?