• index


    /*
    索引 index
       形象点说:索引就是目录。当数据量多的时候,可以加快你的查询。
       索引底层的使用类似于map,在原来的列旁边加上一个key来标明对应值的value存储在哪个位置,又有点类似于数组的下边,反正就是提高了查询速率,也使得增删改变得复杂了些
       一般在查询操作频繁的列上加索引,一般在列的重复度低的列上加索引
       创建索引:
       CREATE [UNIQUE]|[CLUSTRE] INDEX索引名 ON 表名(列名[排序方式]...)
       删除索引:DROP INDEX 索引名
       
       索引的分类:
             普通索引
             唯一索引
             主键索引
             全文索引 (在中文索引下无效,要分词+索引,一般使用第三方插件)
             
       索引的长度:
             有些时候,某一个列的一部分内容是相同的,为了加快查询速率,我们可以仅仅针对该列的前几个字符加上索引。
            指定索引的长度并不会限定插入数据的长度,而是在检索的时候,索引的范围就在数据的前多少个字符
       
       多列索引:
            就是将两列或者多列的值看成一个整体,然后给它加上索引 
       
       冗余索引:
            指的就是一个列上有多个索引的现象       
           
    */
    
    create table key1
    (
    name char(10),
    email char(20),
    key name(name),-- 给name列加上名为name的普通索引
    unique key uniques(email)  -- 给email列加上名为uniques的唯一索引,唯一索引不仅仅起到加快查询速率的作用,并且起到了限制不能重复的作用
    )
    
    create table key2
    (
     id int,
     name varchar(20),
     primary key id(id) --给id列加上主键索引,加快速率并且起到主键约束作用
    )
    
    create table key3 -- 创建唯一索引并且为索引指定长度
    (
     id int,
     email varchar(30),
     unique key un_em(email(10)) 
    )
    
    --我们存姓和名有时候喜欢分开存,但是有时候偏偏喜欢姓名连起来找整个人
    create table key4
    (
     firs varchar(20),
     las varchar(20),
     key nam(firs,las)
    )
    --当查询指定姓名的时候回使用索引,sal是很聪明的额,它会分析你的查询的条件,如果可以匹配索引就会自动帮助你调用索引,a and b和b and a是一样的,都会调用刚才的索引
    select * from key4 where fies='li' and las='mm';
    --查询内容使用索引的前部分也会使用索引,后部分就无法使用了,好像是传说中的左前缀吧
    select * from key4 where fies='li'; -- 使用索引
    select * from key4 where nam='yy'; --不会使用索引
    
    --
    create table key5
    (
     firs varchar(20),
     las varchar(20),
     key fis(firs),
     key nam(firs,las)
    );
  • 相关阅读:
    利用matlab给图像加高斯噪声
    频谱分析代码片段2
    相关性分析代码片段2
    相关性分析代码片段
    频谱分析代码片段
    大脑提取每一个体素26领域的matlab代码
    当前所看论文记录
    论文阅读笔记
    余弦距离、欧氏距离和杰卡德相似性度量的对比分析 by ChaoSimple
    Container With Most Water
  • 原文地址:https://www.cnblogs.com/aigeileshei/p/5596980.html
Copyright © 2020-2023  润新知