MySQL 整数类型列的索引?


在你的表中有大量记录时,针对整数类型列添加索引是加快查询速度的不错选择。

如果你的表中记录较少,那么在整数类型列上使用索引并不是一个好选择。

为了理解这个概念,让我们创建一个表。创建表的查询如下 −

mysql> create table indexOnIntColumnDemo
   -> (
   -> UserId int,
   -> UserName varchar(20),
   -> UserAge int,
   -> INDEX(UserId)
   -> );
Query OK, 0 rows affected (0.85 sec)

现在检查表的描述 −

mysql> desc indexOnIntColumnDemo;

以下是输出 −

+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| UserId   | int(11)     | YES  | MUL | NULL    |       |
| UserName | varchar(20) | YES  |     | NULL    |       |
| UserAge  | int(11)     | YES  |     | NULL    |      |
+----------+-------------+------+-----+---------+-------+
3 rows in set (0.04 sec)

现在你可以使用插入命令在表中插入一些记录。查询如下 −

mysql> insert into indexOnIntColumnDemo values(1001,'John',23);
Query OK, 1 row affected (0.22 sec)
mysql> insert into indexOnIntColumnDemo values(1002,'Sam',25);
Query OK, 1 row affected (0.14 sec)
mysql> insert into indexOnIntColumnDemo values(1003,'Carol',22);
Query OK, 1 row affected (0.24 sec)
mysql> insert into indexOnIntColumnDemo values(1004,'Mike',26);
Query OK, 1 row affected (0.14 sec)

现在你可以使用选择语句显示表中的所有记录。查询如下 −

mysql> select *from indexOnIntColumnDemo;

以下是输出 −

+--------+----------+---------+
| UserId | UserName | UserAge |
+--------+----------+---------+
| 1001   | John     |      23 |
| 1002   | Sam      |      25 |
| 1003   | Carol    |      22 |
| 1004   | Mike     |      26 |
+--------+----------+---------+
4 rows in set (0.00 sec)

为了更快地运行它,对整数类型的索引列使用条件

mysql> select *from indexOnIntColumnDemo where UserId=1004;

输出如下

+--------+----------+---------+
| UserId | UserName | UserAge |
+--------+----------+---------+
| 1004  | Mike      | 26      |
+--------+----------+---------+
1 row in set (0.00 sec)

更新于: 30-Jul-2019

536 次浏览

开启你的 职业生涯

完成课程来获得认证

开始
广告