主键索引(必须指定为“PRIMARY KEY”,没有PRIMARY Index)、

唯一索引(unique index,一般写成unique key)、

普通索引(index,只有这一种才是纯粹的index)等,也是基于是不是把index看作了key

sql插入索引语句:

普通索引:ALTER TABLE `table_name` ADD INDEX index_name ( `column` )

唯一索引:ALTER TABLE `table_name` ADD UNIQUE ( `column` )

主键索引:ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )

当文本字段与数字进行比较时,由于类型不同,MySQL 需要做隐式类型转换才能进行比较。

默认转换规则是:

不同类型全都转换为浮点型

如果字段是字符,条件是整型,那么会把表中字段全都转换为整型

什么情况下要建立索引:

1.在经常需要搜索的列上,可以加快索引的速度。

2.主键列上可以确保列的唯一性。

3.在表与表的而连接条件上加上索引,可以加快连接查询的速度。

4.在经常需要排序(order by),分组(group by)和的distinct 列上加索引 可以加快排序查询的时间,   (单独order by 用不了索引,索引考虑加where 或加limit)。

5.尽量选择区分度高的列作为索引。

6.索引列不能参与计算,保持列“干净”。

7.尽量的扩展索引,不要新建索引

什么情况下不建立索引:

1.查询中很少使用到的列 不应该创建索引,如果建立了索引然而还会降低mysql的性能和增大了空间需求。

2.很少数据的列也不应该建立索引,比如 一个性别字段 0或者1,在查询中,结果集的数据占了表中数据行 的比例比较大,mysql需要扫描的行数很多,增加索引,并不能提高效率。

3.定义为text和image和bit数据类型的列不应该增加索引。

4.当表的修改(UPDATE,INSERT,DELETE)操作远远大于检索(SELECT)操作时不应该创建索引,这两个操作是互斥的关系。
---------------------
作者:jnshu_it
来源:CSDN
原文:https://blog.csdn.net/jnshu_it/article/details/80630054
版权声明:本文为博主原创文章,转载请附上博文链接!

最新文章

  1. dojo/dom-class源码学习
  2. 搭建android开发环境
  3. PHP生成迅雷、快车、旋风等软件的下载链接代码实例
  4. JAVA中的定时调度(Timer和TimerTask)
  5. HDU 4609 3-idiots (FFT-快速傅立叶变换)
  6. ORACLE PL/SQL异常处理(Exception)学习笔记
  7. wordpress显示多个分类的文章
  8. 认识和理解css布局中的BFC
  9. 浅谈-Lambda
  10. Laravel 5 框架性能优化技巧
  11. 流API--流的收集
  12. java虚拟机 jvm 局部变量表实战
  13. php base64图片保存
  14. layui基本使用
  15. 003 将spark源码导入到IDEA中
  16. 六、在U-boot中让LCD填充纯色
  17. yarn和npm命令对比
  18. php的语句
  19. 自动化运维—Ansible(上)
  20. 编辑器配置 vscode / Atom / Sublime Text

热门文章

  1. System函数的使用说明
  2. (七)lucene之中文检索和高亮显示以及摘要
  3. (九)SpringBoot之错误处理
  4. Abp SSO
  5. 使用swagger在netcorewebapi项目中自动生成文档
  6. 经典SQL数据库面试题以及答案—Oracle版本-SQL全部在plsql开发编写-欢迎提问
  7. kong 命令(五)plugin
  8. vue cli3 打包到tomcat上报错问题
  9. js原生方法的重写
  10. python自定义小工具:密码匿名化、毫秒时间显示、人类易读字节