zoukankan      html  css  js  c++  java
  • 索引和引擎小结

    一,索引
    1,索引作用:
    (1)加快查询速度
    (2)唯一性
    (3)文本搜索,MyISAM索引
    2,索引缺点:
    (1)虽然增加查询速度,但是降低增删改的速度,增删改操作时候需要修改索引。
    (2)占用磁盘空间。
    3,索引分类 :
    主键索引primary(id)
    唯一索引unique(name)
    普通索引index(age)
     
    4,
    主键和唯一索引有单个索引和组合索引。
    普通索引有单列索引和多列索引,多列索引遵循最左前缀原则。
     5,
    只有通过索引条件检索数据,InnoDB才使用行级锁,否则,InnoDB将使用表锁。
     6,什么情况下使用索引
    在WHERE和JOIN中出现的列需要建立索引,但也不完全如此,因为MySQL只对<,<=,=,>,>=,BETWEEN,IN,以及某些时候的LIKE才会使用索引。以下情况不会使用索引:
    (1)含有NULL值的列
    (2)like “%aaa%”
    (3)列上进行运算,where YEAR(adddate)<2007
    (4)使用NOT IN和<>操作符
    二,存储引擎
    (1)MyISAM使用非聚簇索引方式存储,索引和数据分离的,适合读写。支持表级锁。
    (2)InnoDB使用聚簇索引方式存储,索引和数据一起,适合频繁更新,支持事务、外键、表级锁和行级锁。
    (3)清空整张表时候,InnoDB是一行一行删除,效率非常慢,MyISAM则会重建表,效率高。
    (4)MyISAM保存表的行数,InnoDB不保存,select count(*)时候MyISAM效率更高。
    (5)只有通过索引条件检索数据,InnoDB才使用行级锁,否则,InnoDB将使用表锁。
  • 相关阅读:
    利用JS判断浏览器种类
    Navicat for MySQL导出表结构脚本的方法
    Spring中Quartz的配置及corn表达式
    easyUI中点击datagrid列标题排序
    JAVA中科学计数法转换普通计数法
    MySQL查询结果复制到新表(更新、插入)
    SVN错误:Attempted to lock an already-locked dir的解决
    TMS320VC5509的外部中断
    TMS320VC5509总线驱动LED灯
    TMS320VC5509的USB口通信
  • 原文地址:https://www.cnblogs.com/usa007lhy/p/7002515.html
Copyright © 2011-2022 走看看