索引的概念

索引是数据的目录,能快速定位数据的位置。索引提高了查询速度,降低了增删改的速度。并非加的越多越好。

一般在查询频率高的列上加,而且在重复度低的列上加效果更好。如在性别列上不用加索引,但是身份证号列上就可以加索引。

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

添加主键索引

MySQL学习(十五)的更多相关文章

  1. 聊聊MySQL的加锁规则《死磕MySQL系列 十五》

    大家好,我是咔咔 不期速成,日拱一卒 本期来聊聊MySQL的加锁规则,知道这些规则后可以判断SQL语句的加锁范围,同时也可以写出更好的SQL语句,防止幻读问题的产生,在能力范围内最大程度的提升MySQ ...

  2. 强化学习(十五) A3C

    在强化学习(十四) Actor-Critic中,我们讨论了Actor-Critic的算法流程,但是由于普通的Actor-Critic算法难以收敛,需要一些其他的优化.而Asynchronous Adv ...

  3. MYSQL数据库学习十五 事务

    15.1 事务概述 当多个用户访问同一份数据,一个用户在更改数据的过程中可能有其他用户同时发起更改请求,为保证数据库记录的更新从一个一致性状态变为另一个一致性状态,使用事务处理是非常必要的. 事务有以 ...

  4. 智能车学习(十五)——K60野火2013版例程

    一.中断函数注册方法: 1.格式: 配置某个功能的中断 注册中断函数 开启中断 2.一个例子 pit_init_ms(PIT0,);//定时中断初始化 set_vector_handler(PIT0_ ...

  5. mysql学习笔记五 —— MHA

    MySQL_MHA ABB(主从复制)-->MHA(实现mysql高可用.读写分离.脚本控制vip飘逸)-->haproxy(对slave集群实现分发,负载均衡)-->keepali ...

  6. MySql(十五):MySql架构设计——可扩展性设计之 Cache 与 Search 的利用

    前言 前面章节部分所分析的可扩展架构方案,基本上都是围绕在数据库自身来进行的,这样是否会使我们在寻求扩展性之路的思维受到“禁锢”,无法更为宽广的发散开来.这一章,我们就将跳出完全依靠数据库自身来改善扩 ...

  7. salesforce lightning零基础学习(十五) 公用组件之 获取表字段的Picklist(多语言)

    此篇参考:salesforce 零基础学习(六十二)获取sObject中类型为Picklist的field values(含record type) 我们在lightning中在前台会经常碰到获取pi ...

  8. Salesforce LWC学习(十五) Async 以及 Picklist 公用方法的实现

    本篇参考:salesforce 零基础学习(六十二)获取sObject中类型为Picklist的field values(含record type) https://developer.salesfo ...

  9. MySQL学习笔记五:数据类型

    MySQL支持多种数据类型,大致可以分为数值,日期/时间和字符类型. 数值类型 MySQL支持所有标准SQL数值数据类型,包括严格数值数据类型(INTEGER.SMALLINT.DECIMAL和NUM ...

随机推荐

  1. Prometheus监控学习笔记之在 HTTP API 中使用 PromQL

    0x00 概述 Prometheus 当前稳定的 HTTP API 可以通过 /api/v1 访问. 0x01 API 响应格式 Prometheus API 使用了 JSON 格式的响应内容. 当 ...

  2. c++ STL中的set和multiset

    1.结构 set和multiset会根据特定的排序原则将元素排序.两者不同之处在于,multisets允许元素重复,而set不允许重复. set中的元素可以是任意类型的,但是由于需要排序,所以元素必须 ...

  3. php 采集爬取单个淘宝商品描述,商品属性

    下载链接:https://download.csdn.net/download/a724008158/10723448 效果图:

  4. R语言开发环境搭建

    R语言开发环境搭建 一.环境 Win7 64bit系统 二.R软件下载 R 3.5.2 for Windows,官网:https://www.r-project.org/ RStudio 1.1.46 ...

  5. Kali系列之hydra ssh密码爆破

    环境 kali 192.168.137.131 靶机 192.168.137.133 语句 hydra -l root -P /home/chenglee/zidian/wordlist.TXT -t ...

  6. 获取RadioButton选中的值

    1.RadioButtonList的RepeatDirection="Horizontal"可以设置按扭选项横对齐: 2.获取选中的RadioButton值; $("#& ...

  7. 20145326蔡馨熤《网络对抗》—— Web基础

    20145326蔡馨熤<网络对抗>—— Web基础 1.实验后回答问题 (1)什么是表单. 表单是一个包含表单元素的区域,表单元素是允许用户在表单中输入信息的元素,表单在网页中主要负责数据 ...

  8. win10 实现 iPad AVplayer 搭建 ftp 共享 PC 端

    1.首先是 iPad 端直接去 App Store 下载 AVplayer 即可,我下载的时候这个APP收费 18 元.这个app内置了加速播放视频的功能,非常适合学习时使用. 2.PC 端搭建 ft ...

  9. PowerDesigner 学习:十大模型及五大分类

    个人认为PowerDesigner 最大的特点和优势就是1)提供了一整套的解决方案,面向了不同的人员提供不同的模型工具,比如有针对企业架构师的模型,有针对需求分析师的模型,有针对系统分析师和软件架构师 ...

  10. Spring <import>标签配置

    使用情景:在Maven项目中,我们在Spring 配置文件中需要用到<import resource="">标签来引入其他配置文件,这里我要记下一些注意事项 情景1 & ...