zoukankan      html  css  js  c++  java
  • MySQL学习(十五)

    索引的概念

    索引是数据的目录,能快速定位数据的位置。索引提高了查询速度,降低了增删改的速度。并非加的越多越好。
    一般在查询频率高的列上加,而且在重复度低的列上加效果更好。如在性别列上不用加索引,但是身份证号列上就可以加索引。
    key 普通索引,就是为了加快查询速度。
    unique key 唯一索引 加快速度并且约束数据。
    primary key 主键索引
    fulltext 全文索引

    全文索引在中文情况下几乎无效。要分词+索引,一般用第三方解决方案,如sphinx

    create table t16
    (
        id int,
        name char(10),
    	email char(20),
    	primary key(id), #主键索引
    	key name(name),
    	unique key email(email)
    );
    

    索引长度:建索引时,可以只索引列的前一部分的内容,比如前10个字符
    如 unique key email(email(10))

    create table t17
    (
        id int,
        name char(10),
    	email char(20),
    	primary key(id), #主键索引
    	key name(name),
    	unique key email(email(10))
    );
    

    多列索引

    create table t18
    (
        xing char(2),
    	ming char(10), 
    	key xm(xing,ming)
    );
    

    创建表,插入数据

    mysql> insert into t18 values
        -> ('朱','元璋');
    Query OK, 1 row affected (0.52 sec)
    


    上面两种情况下,索引都可以发挥作用。

    上面这种情况,索引没有发挥作用。
    左前缀规则,索引可以发挥作用。

    索引的操作

    查看 show index from 表名
    删除 alter table 表名 drop index 表名
    或 drop index 索引名 on 表名
    添加索引
    alter table 表名 add [index/unique] 索引名(列名);
    添加主键索引

  • 相关阅读:
    rk3288的SDK修复cm3218光敏驱动bug
    UVA 12627
    用JDBC编程的执行时错误及其解决大全
    linux中文输入法
    树套树专题——bzoj 3110: [Zjoi2013] K大数查询 & 3236 [Ahoi2013] 作业 题解
    To Noob Json是什么鬼?
    2015.7.3, 杭州……产品级敏捷案例研究
    Java下拼接运行动态SQL语句
    spring mvc+ajax分页
    Linux开发环境搭建与使用——ubuntu更新设置
  • 原文地址:https://www.cnblogs.com/Manual-Linux/p/10227594.html
Copyright © 2011-2022 走看看