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)
广告