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

MySQL में लिमिट क्लॉज को कैसे सुधारें

इसे आजमाएं:

SELECT post_id
    FROM posts
    ORDER BY post_id DESC
    LIMIT 0, 10;

LIMIT . के माध्यम से पृष्ठ पर अंक लगाना वैसे भी आदेश दिए बिना कोई मतलब नहीं है, और इसे आपकी समस्या का समाधान करना चाहिए।

mysql> explain select * from foo;
+----+-------------+-------+-------+---------------+---------+---------+------+------+-------------+
| id | select_type | table | type  | possible_keys | key     | key_len | ref  | rows | Extra       |
+----+-------------+-------+-------+---------------+---------+---------+------+------+-------------+
|  1 | SIMPLE      | foo   | index | NULL          | PRIMARY | 4       | NULL |   20 | Using index |
+----+-------------+-------+-------+---------------+---------+---------+------+------+-------------+
1 row in set (0.00 sec)

mysql> explain select * from foo limit 0, 10;
+----+-------------+-------+-------+---------------+---------+---------+------+------+-------------+
| id | select_type | table | type  | possible_keys | key     | key_len | ref  | rows | Extra       |
+----+-------------+-------+-------+---------------+---------+---------+------+------+-------------+
|  1 | SIMPLE      | foo   | index | NULL          | PRIMARY | 4       | NULL |   20 | Using index |
+----+-------------+-------+-------+---------------+---------+---------+------+------+-------------+
1 row in set (0.00 sec)

mysql> explain select * from foo order by id desc limit 0, 10;
+----+-------------+-------+-------+---------------+---------+---------+------+------+-------------+
| id | select_type | table | type  | possible_keys | key     | key_len | ref  | rows | Extra       |
+----+-------------+-------+-------+---------------+---------+---------+------+------+-------------+
|  1 | SIMPLE      | foo   | index | NULL          | PRIMARY | 4       | NULL |   10 | Using index |
+----+-------------+-------+-------+---------------+---------+---------+------+------+-------------+
1 row in set (0.00 sec)

टिप्पणी के बारे में आपकी अंतिम टिप्पणियों के बारे में शामिल हों। क्या आपके पास comment(post_id) . पर एक इंडेक्स है? ? मेरे परीक्षण डेटा के साथ मुझे निम्नलिखित परिणाम मिल रहे हैं:

mysql> alter table comments add index pi (post_id);
Query OK, 0 rows affected (0.15 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> explain select c.id from  comments c inner join (select id from posts o order by id  limit 0, 10) p on c.post_id = p.id;
+----+-------------+------------+-------+---------------+---------+---------+------+------+--------------------------+
| id | select_type | table      | type  | possible_keys | key     | key_len | ref  | rows | Extra                    |
+----+-------------+------------+-------+---------------+---------+---------+------+------+--------------------------+
|  1 | PRIMARY     | <derived2> | ALL   | NULL          | NULL    | NULL    | NULL |   10 |                          |
|  1 | PRIMARY     | c          | ref   | pi            | pi      | 5       | p.id |    4 | Using where; Using index |
|  2 | DERIVED     | o          | index | NULL          | PRIMARY | 4       | NULL |   10 | Using index              |
+----+-------------+------------+-------+---------------+---------+---------+------+------+--------------------------+

और तालिका आकार संदर्भ के लिए:

mysql> select count(*) from posts;
+----------+
| count(*) |
+----------+
|    15021 |
+----------+
1 row in set (0.01 sec)

mysql> select count(*) from comments;
+----------+
| count(*) |
+----------+
|     1000 |
+----------+
1 row in set (0.00 sec)



  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. उपयोगकर्ता आईडी की सूची में निर्दिष्ट आईडी निकालना

  3. हाइबरनेट के साथ ऑटो इंक्रीमेंट

  4. मैं mysql में किसी तिथि के सप्ताह का पहला दिन कैसे प्राप्त करूं?

  5. इस MySQL क्वेरी को कैसे ऑप्टिमाइज़ करें? लाखों पंक्तियाँ