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

SQL_NO_CACHE का उपयोग कब करें

SQL_NO_CACHE

SELECT स्टेटमेंट के SELECT भाग के बाद और फ़ील्ड सूची से पहले बस SQL_NO_CACHE जोड़ें। नीचे दी गई पहली क्वेरी क्वेरी कैश का उपयोग करेगी यदि यह सक्षम है और क्वेरी कैश की गई है:

SELECT * FROM table WHERE search= 'keyword'; //lets take 1ms

नीचे दी गई दूसरी क्वेरी क्वेरी कैश का उपयोग नहीं करेगी:

SELECT SQL_NO_CACHE * FROM table WHERE search= 'keyword'; //lets take ~0.2ms at 2nd time

किसी क्वेरी को बेंचमार्क करते समय यह विशेष रूप से उपयोगी होता है; यदि क्वेरी कैश सक्षम है, हालांकि पहली क्वेरी में कुछ समय लग सकता है, तो दूसरी और बाद की क्वेरी लगभग तुरंत हो जाती हैं। SQL_NO_CACHE के उपयोग से आपको आश्वस्त किया जा सकता है कि क्वेरी कैश का उपयोग नहीं किया गया है और सुरक्षित रूप से परिणाम समय की तुलना कर सकते हैं। SQL_NO_CACHE संकेत किसी विशेष क्वेरी के लिए MySQL के अंतर्निहित क्वेरी कैशिंग तंत्र को बंद कर देता है। आप अत्यधिक गतिशील प्रश्नों पर इस संकेत का उपयोग करके MySQL को क्वेरी कैश को अधिक प्रभावशाली बनाने में मदद कर सकते हैं (जैसे कीवर्ड खोज, या एक रिपोर्ट जो केवल रात में चलती है)। सुनिश्चित करें कि क्वेरी कैशिंग चालू है अन्यथा इसकी कोई आवश्यकता नहीं है आदेश।

क्या SQL_CACHE और SQL_NO_CACHE ?

SQL_CACHE और SQL_NO_CACHE विकल्प क्वेरी कैश में क्वेरी परिणामों की कैशिंग को प्रभावित करते हैं। SQL_CACHE MySQL को क्वेरी कैश में परिणाम संग्रहीत करने के लिए कहता है यदि यह कैश करने योग्य है और query_cache_type सिस्टम चर का मान 2 या DEMAND है। SQL_NO_CACHE के साथ, सर्वर क्वेरी कैश का उपयोग नहीं करता है। यह न तो यह देखने के लिए क्वेरी कैश की जांच करता है कि क्या परिणाम पहले ही कैश किया गया है, और न ही यह क्वेरी परिणाम को कैश करता है। (पार्सर में एक सीमा के कारण, एक स्पेस कैरेक्टर को SQL_NO_CACHE कीवर्ड से पहले और उसका पालन करना चाहिए; एक नॉनस्पेस जैसे कि एक न्यूलाइन सर्वर को क्वेरी कैश की जांच करने के लिए यह देखने के लिए कारण बनता है कि क्या परिणाम पहले से ही कैश किया गया है।)

मेरी राय के अनुसार NO_CACHE का उपयोग किया जा सकता है यदि 'CACHE' सक्षम है और डीबी में डेटा गतिशील रूप से अपडेट किया गया है, यानी डीबी डेटा कैश पर भरोसा नहीं किया जा सकता है, उदाहरण के लिए:उपयोगकर्ता पासवर्ड हैश संग्रहीत करना हम कैश पर भरोसा नहीं कर सकते क्योंकि अक्सर होता है डेटा में बदलाव की संभावना

उपयोगी परिदृश्यों के अपडेट

1) क्वेरी की गति का परीक्षण करने के लिए कैश का उपयोग न करने के लिए बाध्य करें



  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. स्थानीय कंप्यूटर पर एसएसएच के माध्यम से mysqldump

  3. किसी अन्य चयन के मूल्य के आधार पर चयन कैसे करें

  4. रेल-MySQL त्रुटि - अप्रारंभीकृत निरंतर MysqlCompat::MysqlRes

  5. GROUP BY और ORDER BY के साथ MySQL गलत परिणाम देता है