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

मैं LIMIT क्लॉज में बड़ी ऑफसेट के साथ MySQL क्वेरी को कैसे तेज कर सकता हूं?

शायद आप एक अनुक्रमण तालिका बना सकते हैं जो आपकी लक्ष्य तालिका में कुंजी से संबंधित अनुक्रमिक कुंजी प्रदान करती है। फिर आप इस अनुक्रमण तालिका को अपनी लक्ष्य तालिका में शामिल कर सकते हैं और जहाँ आप चाहते हैं पंक्तियों को अधिक कुशलता से प्राप्त करने के लिए एक क्लॉज का उपयोग कर सकते हैं।

#create table to store sequences
CREATE TABLE seq (
   seq_no int not null auto_increment,
   id int not null,
   primary key(seq_no),
   unique(id)
);

#create the sequence
TRUNCATE seq;
INSERT INTO seq (id) SELECT id FROM mytable ORDER BY id;

#now get 1000 rows from offset 1000000
SELECT mytable.* 
FROM mytable 
INNER JOIN seq USING(id)
WHERE seq.seq_no BETWEEN 1000000 AND 1000999;


  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 तालिका में varchar लंबाई का महत्व

  3. उच्च उपलब्धता के लिए MySQL के लिए Percona सर्वर कैसे परिनियोजित करें

  4. उपयोगकर्ता 'रूट' @ 'लोकलहोस्ट' (पासवर्ड का उपयोग करके:हाँ) के लिए प्रवेश अस्वीकृत - कोई विशेषाधिकार नहीं?

  5. कुछ उपसर्ग के साथ MySQL तालिका प्राथमिक कुंजी ऑटो वृद्धि कैसे करें