当前位置:  开发笔记 > 后端 > 正文

将索引添加到MySQL表

如何解决《将索引添加到MySQL表》经验,为你挑选了1个好方法。

MySQL文档对此并不十分清楚.我想为现有表添加索引.该表是一个带有登录ID和密码的用户表,我想为此创建一个索引来优化登录.

这就是我以为我会尝试的方式:

mysql> ALTER TABLE `users` ADD INDEX(`name`,`password`);

这创造了:

mysql> show index from karmerd.users;
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+   
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment |    
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+    
| users |          0 | PRIMARY  |            1 | id          | A         |           2 |     NULL | NULL   |      | BTREE      |         |     
| users |          1 | name     |            1 | name        | A         |           2 |     NULL | NULL   |      | BTREE      |         |     
| users |          1 | name     |            2 | password    | A         |           2 |     NULL | NULL   | YES  | BTREE      |         |     
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+

这实现了我想做的事吗?(优化登录?)以前我只在一个名为'id'的字段上有一个主键.



1> Bill Karwin..:

是的,这实现了创建索引.索引名为" name"(如果您没有为索引指定名称,它会尝试使用您在索引中指定的第一列).索引是两列的组合: name位置1和password位置2.

至于这是否会优化日志记录,这取决于您的查询可能会或可能不会使用索引.您还应该了解如何使用分析查询EXPLAIN.


您还应该阅读有关存储密码的更多信息.

这是一个关于这个主题的好博客:" 你可能错误地存储了密码 "

推荐阅读
Life一切安好
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有