一、索引的类型
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. strut2读源码记录

    首先你得准备一个很简单的struts2的程序,可以发一次请求后能返回一个正确的响应,当然,struts2的源码也要有,我这里用的myeclipse调试的,本来是想用eclipse,因为本人习惯于用ec ...

  2. 巧用final

    1.final可以修饰函数的参数,以防止函数内部随意篡改不允许修改的参数. 2.在函数内部,把函数的局部变量声明为final类型,可以检查在函数内部它们是否的确只被赋值一次.

  3. Web自动化测试学习点总结

    "大不可量,深不可测"这是出自<韩非子·主道>的一段话.关于自动化测试也是如此,web系统开发完成,测试人员对页面进行测试,寻找bug.这个过程,需要摸索着前进. 什么 ...

  4. lua读书笔记

    接下来把我所看的<Lua程序设计>中介绍lua的内容,时时的记录下来.当做一个读书笔记吧. 先说一下怎样直接运行lua文件吧,windows cmd进入相应的文件夹,然后输入lua,出现版 ...

  5. Java文档注释

    文档注释是用于生成API文档,API主要用于说明类.方法.成员变量 javadoc工具 处理文档源文件在类.接口.方法.成员变量.构造器和内部类之前的注释,忽略其他地方的文档注释.而且javadoc工 ...

  6. 【.NET】字符串处理类库

    类名:DealString,方法清单列好在头上. /// 1.截取字符串,最后加3个小数点 /// 2.获得指定Url的参数的string类型值 /// 3.判断数据类型 /// 4.过滤JS标记 / ...

  7. 【完全背包】HDU 4508 湫湫系列故事——减肥记I

    Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other) Total Submission(s) ...

  8. 文档在线预览开源实现方案三:OpenOffice + PDFRenderer + js

    之前的方案无法很好地解决异构平台及不同浏览器的兼容性问题,如方案一需要客户端浏览器支持flash而移动端浏览器无法支持这点,虽然移动端浏览器支持方案二,但是一些老版本的IE浏览器无法支持,例如IE8就 ...

  9. CODE[VS]-判断浮点数是否相等-浮点数处理-天梯青铜

    题目描述 Description 给出两个浮点数,请你判断这两个浮点数是否相等 输入描述 Input Description 输入仅一行,包含两个浮点数 输出描述 Output Description ...

  10. MariaDB数据解压版安装(10.0.16)

    官网下载地址:https://downloads.mariadb.org/    (自己选择版本下载) 在windows 7 下安装 1.下载到解压版安装文件mariadb-10.0.16-win32 ...