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

  • 相关阅读:
    网络爬虫基础练习
    Hadoop综合大作业
    hive基本操作与应用
    用mapreduce 处理气象数据集
    熟悉常用的HBase操作
    爬虫大作业
    第三章 熟悉常用的HDFS操作
    数据结构化与保存
    获取全部校园新闻
    爬取校园新闻首页的新闻
  • 原文地址:https://www.cnblogs.com/Manual-Linux/p/10227594.html
Copyright © 2020-2023  润新知