一、索引的类型
1、普通索引   增加 create  index  index_name on table(colume(length)); 
                     例子:create index index_order_no on t_insruance_new_order(order_no(20))
                     删除 drop index index_name on table_name /alter table table_name drop index index_name
2、唯一索引   create unique  index  index_name on table(colume(length));
3、主键索引   主键默认就有索引
4、全文索引   fulltext
5、组合索引   create index index_name_age on t_insruance_new_order_no(name(20),age) //缩小索引的长度可以增加insert的速度
                      组合索引可以是---name,age或者name ,但是不能是age(遵循"最左前缀原则")
-----索引方法:b_tree和hash方法,通常使用b-tree,hash索引,是进行hash处理后的hash值,大小无顺序,但是效率大于B-tree,因为b-tree是从根节点往枝节点,在到叶节点效率比较低
 二、索引的形式
1、单列索引,多列索引   查询时候,mysql只能执行一个索引,所以多列索引会找出这几个索引中限制最高的一个索引,进行查询
三、使用索引的时机
     一般来说,在where和join中需要创建索引,但是也不完全是,因为mysql只对> ,>=,  =,<=,<,between,in 和一些like时候才使用索引,
     例子:使用like时候要特别注意这一点
     对于like来说,使用通配符号(%或者_)开头时候不会使用索引
     select  * from mytable where name like "%俊";  不会使用索引
     select *  from mytable where name like "杨%";  会使用索引
四、索引的不足之处
     1、建立索引会增加查询的速度,会降低更新表的速度,更新表(update.delete.insert.)对表格进行更新的同时,还会对索引文件进行更新
     2、建立索引会占用磁盘空间的索引文件,一般情况下不会有太大问题,但是在一个大数据表格中,创建了多种组合索引,索引文件会膨胀的很         快。
五、使用索引的注意事项
      1、有null值的列,索引失效,所以创建索引的列默认为非null
      2、使用短索引,可以提高检索速度,还可以减少磁盘空间和io操作
      3、索引列的排序,mysql查询只使用一个索引,所以多个索引查询只有用一个最严格的索引,为了提升查询的效率可以添加组合索引,
      4、like模糊查询,通配符放在最前面,索引失效
      5、不要在列上进行计算 select *  from mytable where date(time)>'2007';索引失效---where time>'2007-01-01'
      6、不适用not in和 <>操作
 

mysql索引类型-形式-使用时机-不足之处--注意事项的更多相关文章

  1. mysql索引类型-方法-形式-使用时机-不足之处--注意事项

    一.索引的类型 1.普通索引   增加 create  index  index_name on table(colume(length));                       例子:cre ...

  2. MySQL索引类型及优化

    索引是快速搜索的关键.MySQL索引的建立对于MySQL的高效运行是很重要的.下面介绍几种常见的MySQL索引类型. 在数据库表中,对字段建立索引可以大大提高查询速度.假如我们创建了一个 mytabl ...

  3. MySQL索引类型总结和使用技巧以及注意事项

    索引是快速搜索的关键.MySQL索引的建立对于MySQL的高效运行是很重要的.下面介绍几种常见的MySQL索引类型 在数据库表中,对字段建立索引可以大大提高查询速度.假如我们创建了一个 mytable ...

  4. mysql进阶(二十六)MySQL 索引类型(初学者必看)

    mysql进阶(二十六)MySQL 索引类型(初学者必看)   索引是快速搜索的关键.MySQL 索引的建立对于 MySQL 的高效运行是很重要的.下面介绍几种常见的 MySQL 索引类型.   在数 ...

  5. MySQL索引类型总结和使用技巧

    引用地址:http://www.jb51.net/article/49346.htm 在数据库表中,对字段建立索引可以大大提高查询速度.假如我们创建了一个 mytable表: 复制代码 代码如下: C ...

  6. 数据库索引原理,及MySQL索引类型(转)

    在数据库表中,对字段建立索引可以大大提高查询速度.假如我们创建了一个 mytable表: CREATE TABLE mytable( ID INT NOT NULL, username ) NOT N ...

  7. MySQL索引类型总结和使用技巧以及注意事项 (转)

      在数据库表中,对字段建立索引可以大大提高查询速度.假如我们创建了一个 mytable表:  代码如下: CREATE TABLE mytable(   ID INT NOT NULL,    us ...

  8. MySQL索引类型一览 让MySQL高效运行起来(转)

    转自:http://www.php100.com/html/webkaifa/database/Mysql/2010/0409/4279.html 索引是快速搜索的关键.MySQL索引的建立对于MyS ...

  9. mysql索引类型和索引方法

    索引类型 mysql索引类型normal,unique,full text的区别是什么? normal:表示普通索引 unique:表示唯一的,不允许重复的索引,如果该字段信息保证不会重复例如身份证号 ...

随机推荐

  1. SQlServer---时间的操作

    select Day(getdate())--当前日是这个月的第几天 -Day(getdate()))))--当前月有多少天 -Day(getdate()))))-Day(getdate())--当前 ...

  2. SQL 网文链接

    使用自定义表类型(SQL Server 2008) http://www.cnblogs.com/chenxizhang/archive/2009/04/28/1445234.html

  3. java 异常处理机制及说明。

    又抄袭了一篇文章,其实就是想保存到自己的博客中而已,文章出处:http://www.cnblogs.com/LilianChen/p/4639471.html 1. 如何捕获异常 try { 可能会出 ...

  4. sed常见用法,删除匹配行的上2行,下3行

    删除匹配的下一行到最后一行 [root@test200 ~]# cat test a b c d e f [root@test200 ~]# sed '/c/{p;:a;N;$!ba;d}' test ...

  5. Date类型常用概念及方法总结(1)

      Date类型使用UTC(国际协调时间)1970年1月1日零时开始经过的毫秒数来保存时间. (1)创建当前日期           调用Date不传递参数的情况下,创建的新对象自动获得当前日期和时间 ...

  6. JavaEE XML XSL转换(XSLT)

    XSL转换(XSLT) @author ixenos 定义: XSL转换机制可以指定将XML文档转换为其他格式的规则,例如,txt纯文本.XHTML或其他任何XML格式. 用途: XSLT通常用来将某 ...

  7. C#带参数打开网页及url获取

    1.带参数打开网页 Response.Redirect("form2.aspx?id=url1&name=ok"); 其中?后面为参数. 2.获取url 命令 结果 Req ...

  8. springMVC Helloword 入门程序

    1  首先是在web.xml 中配置 <servlet> <servlet-name>SpringMVC</servlet-name> <servlet-cl ...

  9. lua调用C语言

    在上一篇文章(C调用lua函数)中,讲述了如何用c语言调用lua函数,通常,A语言能调用B语言,反过来也是成立的.正如Java 与c语言之间使用JNI来互调,Lua与C也可以互调.   当lua调用c ...

  10. 工具-Quick time播放器

    拍屏的视频.素材视频等,用Quick time观看 1.左下角可切换时间/帧编号,直观看到某pose的帧位置: 2.播放进度条上有卡尺,可选择部分视频,显示-仅播放所选部分,点上显示-循环,可以反复观 ...