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

MySQL में पंक्तियों की गिनती तेज करना

तो सवाल है

<ब्लॉकक्वॉट>

क्या इस प्रकार के प्रश्नों को तेज़ करने की कोई तकनीक है?

असल में ऐसा नहीं है। एक कॉलम-आधारित स्टोरेज इंजन शायद उन SELECT COUNT(*) प्रश्नों के साथ तेज़ होगा लेकिन यह किसी भी अन्य क्वेरी के लिए कम प्रदर्शनकारी होगा।

ट्रिगर्स के माध्यम से सारांश तालिका बनाए रखना आपकी सबसे अच्छी शर्त है। इसमें बहुत अधिक उपरि नहीं है और चयन भाग तत्काल होगा चाहे तालिका कितनी भी बड़ी क्यों न हो। ये रहा कुछ बॉयलरप्लेट कोड:

DELIMITER //

CREATE TRIGGER ai_books AFTER INSERT ON books
FOR EACH ROW UPDATE books_cnt SET total = total + 1 WHERE status = NEW.status
//
CREATE TRIGGER ad_books AFTER DELETE ON books
FOR EACH ROW UPDATE books_cnt SET total = total - 1 WHERE status = OLD.status;
//
CREATE TRIGGER au_books AFTER UPDATE ON books
FOR EACH ROW
BEGIN
    IF (OLD.status <> NEW.status)
    THEN
        UPDATE books_cnt SET total = total + IF(status = NEW.status, 1, -1) WHERE status IN (OLD.status, NEW.status);
    END IF;
END
//


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. DAYOFWEEK () उदाहरण – MySQL

  2. डुप्लीकेट कुंजी अपडेट पर डालने के समान

  3. MySQL - सम्मिलित त्रुटि पर ध्यान न दें:डुप्लिकेट प्रविष्टि

  4. MySQL डेटाबेस में लिंक की गई सूची लाई जा रही है

  5. बिना किसी परवाह किए IN मान के लिए डिफ़ॉल्ट परिणाम लौटाएं