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] 索引名(列名);
    添加主键索引

  • 相关阅读:
    基于Centos 7 vue+nginx+docker 的前端项目部署
    uni-app学习随笔
    微服务和Docker
    Ado.Net
    数据库(SQLServer)
    JavaScript
    CSS样式
    HTML前端标签
    vue中 拖动元素边框 改变元素宽度
    vue学习笔记14
  • 原文地址:https://www.cnblogs.com/Manual-Linux/p/10227594.html
Copyright © 2011-2022 走看看