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

नकली तैयार बयान बनाम वास्तविक तैयार बयान

आप सही हैं, असली तैयार बयान सर्वर द्वारा समर्थित होना चाहिए। एक वास्तविक तैयार का अर्थ है डेटाबेस को दो चरणों में क्वेरी करना।

पहले चरण में एक क्वेरी टेम्प्लेट भेजना शामिल है, जिसे सर्वर पूर्व-संकलित कर सकता है। डेटाबेस इंजन पहले से निष्पादन योजना भी तैयार करता है (ज्यादातर, वास्तविक क्वेरी को पूरा करने के लिए कौन से इंडेक्स का उपयोग किया जाएगा)।

दूसरा चरण प्लेसहोल्डर्स को वास्तविक मान दे रहा है और इन मापदंडों के साथ वास्तविक क्वेरी चला रहा है।

यह आम तौर पर कई समान प्रश्नों के तेजी से निष्पादन की अनुमति देता है, क्योंकि 1. क्वेरी पहले ही संकलित की जा चुकी है (निष्पादन योजना पहले से ही गणना की गई है) और 2. केवल पैरामीटर मान बाद में भेजे जाते हैं।

एक नकली क्वेरी सिर्फ एक वाक्यात्मक चीनी है, जो केवल कई, लगातार, समान प्रश्नों को आसानी से भेजने (तेजी से निष्पादन नहीं) की अनुमति देती है। जब भी कोई एमुलेटेड क्वेरी निष्पादित की जाती है, तो सर्वर को पूर्ण 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. डुप्लीकेट कुंजी पर MySQL - अंतिम सम्मिलित आईडी?

  2. MySQL में कॉलम के रूप में रो वैल्यू कैसे प्रदर्शित करें

  3. Mysql में केवल एक फ़ील्ड को छोड़कर सभी फ़ील्ड का चयन करना

  4. Django में डेटा को असामान्य करने का सबसे अच्छा तरीका?

  5. क्या t1, b2 को छोड़कर ड्रॉप टेबल जैसी किसी चीज़ को लागू करने के लिए कोई MySQL कमांड है?