创建索引上的版本差异

简介: 关于索引的有趣现象:今天在创建索引的时候,发现一个版本的差异。在5.1版本创建索引.mysql> create index idx_username on bk_user(username(20));Query OK, 226 rows affected (0.

关于索引的有趣现象:


今天在创建索引的时候,发现一个版本的差异。

在5.1版本创建索引.

mysql> create index idx_username on bk_user(username(20));

Query OK, 226 rows affected (0.11 sec)

Records: 226  Duplicates: 0  Warnings: 0


mysql> create index idx_email on bk_user(email(30));

Query OK, 226 rows affected (0.12 sec)

Records: 226  Duplicates: 0  Warnings: 0(在5.1创建的索引,它们的记录都是有着影响的。影响了226条)


(system@localhost) [baike]> show index from bk_user;(查看索引的时候,也是建好了的)

+---------+------------+--------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+

| Table   | Non_unique | Key_name     | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |

+---------+------------+--------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+

| bk_user |          0 | PRIMARY      |            1 | uid         | A         |       83799 |     NULL | NULL   |      | BTREE      |         |               |

| bk_user |          1 | loginstatus  |            1 | loginstatus | A         |           3 |     NULL | NULL   |      | BTREE      |         |               |

| bk_user |          1 | idx_username |            1 | username    | A         |       83799 |       20 | NULL   | YES  | BTREE      |         |               |

| bk_user |          1 | idx_email    |            1 | email       | A         |         185 |       30 | NULL   | YES  | BTREE      |         |               |

+---------+------------+--------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+

4 rows in set (0.00 sec)


在5.5版本上面,建立索引的时候。

(system@localhost) [baike]> create index idx_email on bk_user(email(30));

Query OK, 0 rows affected (0.49 sec)

Records: 0  Duplicates: 0  Warnings: 0(竟然发现0条数据,我被它欺骗了。其实是隐性的影响了相应的条数,你看时间0.49秒,就知道它是受了影响的)


这个现象挺有意思,说明mysql在版本的改变的时候,对这一块代码的实现做了修改。


目录
打赏
0
0
0
0
10
分享
相关文章
精确版本号的依赖版本范围的优点是什么?
使用精确版本号作为依赖版本范围在项目的稳定性、兼容性、问题排查、安全管理以及合规性等方面都具有显著的优势。在实际项目中,对于一些关键的依赖库或对稳定性要求极高的项目组件,建议优先考虑使用精确版本号来确保项目的可靠运行。
37 1
MySQL数据库——约束(概述、约束演示、外键约束、删除/更新行为)
MySQL数据库——约束(概述、约束演示、外键约束、删除/更新行为)
107 0
简述创建索引的注意事项
创建索引是提高数据库查询性能的重要手段之一,合理地创建索引可以加快查询速度,提升数据库的整体性能。以下是创建索引时需要注意的几个重要事项:
308 0
mysql数据库优化之 如何选择合适的列建立索引
mysql数据库优化之 如何选择合适的列建立索引 在where 从句,group by 从句,order by 从句,on 从句中出现的列; 索引字段越小越好; 离散度大的列放到联合索引的前面;比如:     select * from payment where staff_id = 2 and customer_id = 236;     针对上面的查询是  index(sftaff_id, customer_id) 好?还是index(customer_id, staff_id)好?     因为customer_id的离散度更大,因此用后面的更合适!! 那么问题来了。
1035 0

热门文章

最新文章

相关实验场景

更多
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等