Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में पंक्तियों को एक बैच में एक समय पर चुनना

LIMIT और OFFSET से पेजिनेशन/बैच प्रोसेसिंग

LIMIT offset, count या LIMIT count OFFSET offset का उपयोग करके परिणाम सेट को बैच में विभाजित करें।

तालिका और डेटा

mysql> CREATE TABLE DemoTable1514 (
    -> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> FirstName VARCHAR(20)
    -> );

mysql> INSERT INTO DemoTable1514(FirstName) VALUES
    -> ('Chris'), ('Bob'), ('Sam'), ('Mike'), ('Carol'),
    -> ('David'), ('Robert'), ('Adam'), ('John'), ('Jace');

क्वेरी: 5वीं से 8वीं पंक्ति (बैच आकार 4, ऑफसेट 4)

mysql> SELECT * FROM DemoTable1514 LIMIT 4 OFFSET 4;

परिणाम

+----+-----------+
| Id | FirstName |
+----+-----------+
| 5  | Carol     |
| 6  | David     |
| 7  | Robert    |
| 8  | Adam      |
+----+-----------+

पेजिनेशन पैटर्न:

  • पेज 1: LIMIT 10 OFFSET 0
  • पेज 2: LIMIT 10 OFFSET 10
  • पेज N: LIMIT 10 OFFSET (N-1)*10

प्रदर्शन नोट: बड़े ऑफसेट पर OFFSET धीमा होता है। बेहतर: WHERE id > last_seen_id ORDER BY id LIMIT 10 (कीसेट पेजिनेशन)।

  1. - MySQL में कई पंक्तियाँ प्रभावी ढंग से चुनना

    इंडेक्स और IN() क्लॉज से कुशल पंक्ति चयन प्राइमरी की या इंडेक्स पर IN() क्लॉज का उपयोग करके कई विशिष्ट आईडी की पंक्तियाँ एक क्वेरी में कुशलता से प्राप्त करें। तालिका और इंडेक्स CREATE INDEX id_index ON DemoTable1501(Id); डेटा डालना (220, www.gmail.com), (350, www.youtube.com); कुशल चयन क्वेरी

  1. - MySQL में क्वेरी परिणामों को रैंडम क्रम में ऑर्डर करना और रैंडम पंक्तियां चुनना

    परिचय MySQL में ORDER BY RAND() का उपयोग करके क्वेरी परिणामों को यादृच्छिक (रैंडम) क्रम में क्रमबद्ध किया जा सकता है। LIMIT के साथ संयोजित करके रैंडम नमूना (random sample) प्राप्त किया जा सकता है। सिंटैक्स SELECT * FROM table_name WHERE column_name IN (value1, value2, ...) ORDER BY RAND() LIMIT lim

  1. - MySQL में INSERT ... SELECT क्वेरी का उपयोग कैसे करें?

    MySQL में INSERT ... SELECT स्टेटमेंट एक ही क्वेरी में एक तालिका से दूसरी तालिका में डेटा कॉपी करने या मानों की गणना करके डालने की अनुमति देता है। सिंटैक्स INSERT INTO target_table (col1, col2, col3, ...) SELECT col1, col2, col3, ... FROM source_table WHERE condition; उदाहरण: मानों को सीधे चुनकर ड