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

MySQL डेटाबेस से पेजिनेशन वार एन रिकॉर्ड्स का चयन कैसे करें?

पहला शतक

 SELECT * FROM <table_name> ORDER BY id ASC LIMIT 0, 100

अगले सौ

 SELECT * FROM <table_name> ORDER BY id ASC LIMIT 100, 100

आप ऑर्डर देने के बारे में बहुत चौकस हैं

व्याख्या की गई सीमा विवरण: LIMIT कथन WHERE नहीं है खंड। यह id . द्वारा चयन नहीं करता है न ही वास्तव में किसी मानदंड से, (वहां WHERE क्लॉज ऐसा करता है) इसके बजाय LIMIT क्लॉज केवल यह सुनिश्चित करता है कि आपको block . का एक टुकड़ा वापस कर दिया गया है उन परिणामों का जो "सब कुछ" का सबसेट हैं। इसलिए order by का उल्लेख करना क्यों महत्वपूर्ण है? हर बार, ताकि प्रत्येक बाद की कॉल आपको क्रम में डेटा ब्लॉक का सही टुकड़ा देगी, और आप उनके माध्यम से 'अगला', 'अगला', 'अगला' कर सकते हैं

ईजी:अव्यवस्थित तालिका के लिए this_table :

+-------+-------------+
|  id   |   value     |
+-------+-------------+
|  1    |     bob     |
|  12   |     fish    |
|  112  |     pink    |
|  2    |     cat     |
|  8    |     dog     |
|  56   |     blue    |
|  88   |     grey    |
|  87   |     red     |
+-------+-------------+

चयन नीचे के रूप में वापसी:

SELECT * FROM <this_table> ORDER BY id ASC LIMIT 0,5
+-------+-------------+
|  id   |   value     |
+-------+-------------+
|  1    |     bob     |
|  2    |     cat     |
|  8    |     dog     |
|  12   |     fish    |
|  56   |     blue    |
+-------+-------------+

और

SELECT * FROM <this_table> ORDER BY id ASC LIMIT 5,5
+-------+-------------+
|  id   |   value     |
+-------+-------------+
|  87   |     red     |
|  88   |     grey    |
|  112  |     pink    |
+-------+-------------+

9 और 10 पंक्तियों की कमी पर ध्यान दें, यह जानबूझकर किया गया है और MySQL को इरादे के अनुसार काम करता हुआ दिखाता है

संयोग से आपको id . पर एक इंडेक्स जोड़ने पर भी विचार करना चाहिए यह इन चयनकर्ताओं की गति को व्यापक रूप से बढ़ा देगा

ALTER TABLE <table_name> ADD INDEX `id` (`id`)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मेरी बहु-स्तंभ क्वेरी, बहु-स्तंभ अनुक्रमणिका के साथ भी, संबंधित एकल-स्तंभ प्रश्नों की तुलना में नाटकीय रूप से धीमी क्यों है?

  2. ActiveRecord क्वेरी में सभी आईडी शामिल करें

  3. एक प्रश्न पूछें - MySQL और PHP

  4. त्रुटि 1356 (HY000):देखें 'mysql.user' संदर्भ अमान्य तालिका (तालिकाओं) या स्तंभ (ओं) या कार्य (ओं) या निश्चित/देखने वाले के पास उनका उपयोग करने के अधिकारों की कमी है

  5. डीबी-अनुरोधों को कैसे रोकें? (माई एसक्यूएल)