MySQL中的限制语句有什么用

  介绍

小编给大家分享一下MySQL中的限制语句有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!

<强>问题

为了故事的顺利发展,我们得先有个表:

CREATE  TABLE  t  (   ,,,id  INT  UNSIGNED  NOT  NULL  AUTO_INCREMENT,   ,,,key1  VARCHAR (100),   ,,,common_field  VARCHAR (100),   ,,,PRIMARY  KEY  (id),   ,,,KEY  idx_key1  (key1)   ),引擎=InnoDB  CHARSET=use utf8;

表t包含3个列,id列是主键,key1列是二级索引列。表中包含1万条记录。

当我们执行下边这个语句的时候,是使用二级索引idx_key1的:

mysql>,, EXPLAIN  SELECT  *,得到t  ORDER  BY  key1  LIMIT  1;   + - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +   | |,id  select_type  |, table  |, partitions  |, type , |, possible_keys  |, key ,,,,, |, key_len  |, ref , |, rows  |, filtered  | Extra  |   + - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +   |,,1,|,SIMPLE ,,,,, |, t ,,,, |, NULL ,,,,,, |, index  |, NULL ,,,,,,,,, |, idx_key1  |, 303,,,,, |, NULL  |,,,, 1, |,,, 100.00, |, NULL  |   + - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +   1,row 集,拷贝,1,warning  (0.00, sec)

这个很好理解,因为在二级索引idx_key1中,key1列是有序的,而查询是要取按照key1列排序的第1条记录,那MySQL只需要从idx_key1中获取到第一条二级索引记录,然后直接回表取得完整的记录即可。

但是如果我们把上边语句的<代码>限制1> 5000年限制,1> mysql>,, EXPLAIN  SELECT  *,得到t  ORDER  BY  key1  LIMIT  5000年,1;   + - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - +   | |,id  select_type  |, table  |, partitions  |, type  |, possible_keys  |, key , |, key_len  |, ref , |, rows  |, filtered  |, Extra ,,,,,,,, |   + - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - +   |,,1,|,SIMPLE ,,,,, |, t ,,,, |, NULL ,,,,,, |, ALL , |, NULL ,,,,,,,,, |, NULL  |, NULL ,,, |, NULL  |, 9966, |,,, 100.00, |, Using  filesort  |   + - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - +   null   null

MySQL中的限制语句有什么用