我有兩個表,其中包含用戶的日常活動。我有兩個加入這些表,並從這張表中選擇十大ID。MYSQL:提高查詢性能加入按訂單條款
表1:buildlog
+----------------+------------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------+------------------------+------+-----+---------+----------------+
| NAME | varchar(50) | YES | | NULL | |
| ID | int(11) | NO | PRI | NULL | auto_increment |
| DATE_AND_TIME | datetime | YES | | NULL | |
| COMMENT | mediumtext | YES | | NULL | |
+----------------+------------------------+------+-----+---------+----------------+
排數作者:276186
表2:報告
+---------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------------+--------------+------+-----+---------+----------------+
| r_id | int(10) | NO | PRI | NULL | auto_increment |
| id | int(15) | YES | UNI | NULL | |
| label | varchar(200) | YES | | NULL | |
+---------------+--------------+------+-----+---------+----------------+
排數作者:134058
如果我只用id
這兩個表使用連接查詢,它會非常快。
查詢1:
select buildlog.id,reports.label from buildlog join reports on reports.id = buildlog.id limit 10\G
查詢時間:10行中集(0.01秒)
如果我通過添加以獲得近十建立IDS,它貼上標籤需要1〜 2分鐘執行。
查詢2:
select buildlog.id,reports.label from buildlog join reports on reports.id = buildlog.id order by buildlog.id desc limit 10\G
查詢時間:10 rows in set (0.98 sec)
以便通過列是一個主鍵buildlog.id
。所以,它已經被索引爲什麼它需要更多時間來執行此查詢? 。任何人都可以建議我如何優化這個?
你可以看看執行計劃,但排序總是需要更多時間。我不知道你的記錄數量是否正常。 – Marc