索引

索引可以优化mysql的数据检索速度
无索引的数据检索是进行的全文检索,即对整个库/表逐个数据进行的搜索,而设置索引后,数据库/表相当于拥有了一个目录,搜索时将会根据该目录,直接跳转到指定的位置进行搜索,进而使速度上提升了很多。
mysql中常用的索引类型有:普通索引、唯一索引、全文索引、单列索引、多列索引、空间索引。

主键与索引:
主键的用途有两个,1是唯一地标识一行数据,2是作为一个可以被外键有效引用的对象

在mysql创建主键时,会对主键自动生成一个唯一索引,所以主键也是一个特殊的索引,但要注意一个表中可以有多个唯一索引,只有一个主键。

初学者应将索引视为一个对象,他不是表中字段的依附者,相反,表中字段只是索引(对象)的一个属性,索引还包含着其他的属性,如:索引的自定义命名

普通索引

没有任何限制条件的索引

唯一索引

索引值必须唯一

create table tb_name(

unique index index_name (id desc)
)

全文索引

应用于char/varchar/text这类字段上,使用于较大的字符串类字段,可以提高其检索速度。

单列索引

只对应一个字段

多列索引

可对应多个字段

create table tb_name(

key index_name (id,user,time)
);

空间索引

应用于MyISAM存储引擎的,这里略过

索引的创建

create table tb_name(
属性名 数据类型[约束条件],
属性名 数据类型[约束条件],

[UNIQUE|FULLTEXT|SPATIAL] INDEX|KEY ([自定义的索引命名(别名)] (字段名[(长度)] [ASC|DESC]));

创建索引的关键字是INDEX或KEY,二者均可。

//在已存在的表中创建索引
create [UNIQUE|FULLTEXT|SPATIAL] INDEX|KEY ([自定义的索引命名(别名)] on tb_name (字段名[(长度)] [ASC|DESC]);

删除索引

drop index index_name on tb_name

MySQL入门——索引相关推荐

  1. MySQL入门系列:查询简介(四)之类型转换和分组查询

    前文回顾 之前我们介绍了一些简单查询的方式以及MySQL中表达式和函数的简单使用,本篇文章继续介绍如何使用MySQL进行查询. 类型转换 类型转换的场景 只要某个值的类型与上下文要求的类型不符,MyS ...

  2. MySQL入门系列:存储程序(二)之存储函数简介

    存储例程 存储例程是存储程序的一种类型,本质上也是封装了一些可执行的语句,只不过它的调用方式是:需要手动去调用!存储例程又可以分为存储函数和存储过程,下边我们详细唠叨这两个家伙. 存储函数 创建存储函 ...

  3. MYSQL 入门全套

    转载自  MYSQL 入门全套 MySQL简介 1.什么是数据库 ? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十 ...

  4. Mysql学习总结(12)——21分钟Mysql入门教程

    21分钟 MySQL 入门教程 目录 一.MySQL的相关概念介绍 二.Windows下MySQL的配置 配置步骤 MySQL服务的启动.停止与卸载 三.MySQL脚本的基本组成 四.MySQL中的数 ...

  5. MySQL入门之大纲

    本节是讲解MySQL的入门教程,此教程是去年2016年做的,在此整理好,发布到了CSDN上: 此教程简单为MySQL入门教程.下面是涉及的内容: MySQL入门之数据库介绍及MySQL介绍 http: ...

  6. MySQL入门 (七) : 储存引擎与资料型态

    1 表格与储存引擎 表格(table)是资料库中用来储存纪录的基本单位,在建立一个新的资料库以后,你必须为这个资料库建立一些储存资料的表格: 每一个资料库都会使用一个资料夹,这些资料库资料夹用来储存所 ...

  7. MySQL入门 (五) : CRUD 与资料维护

    1 取得表格资讯 1.1 DESCRIBE指令 「DESCRIBE」是MySQL资料库提供的指令,它只能在MySQL资料库中使用,这个指令可以取得某个表格的结构资讯,它的语法是这样的: 你在MySQL ...

  8. MySQL入门 (二) : SELECT 基础查询

    1 查询资料前的基本概念 1.1 表格.纪录与栏位 表格是资料库储存资料的基本元件,它是由一些栏位组合而成的,储存在表格中的每一笔纪录就拥有这些栏位的资料. 以储存城市资料的表格「city」来说,设计 ...

  9. idea修改完jdbc文件后没有更新_JDBC+MySQL入门案例

    前言 hello我是bigsai(微信可以搜索一下哦),今天咱们进行JDBC+MySQL实战,非常适合初入门的小伙伴打开新的世界.实现一个增删改查(curd)的例子.先点赞再观看.帅哥靓女养成好习惯! ...

最新文章

  1. DoubleSlider
  2. VisualVM——JDK自带的性能分析工具
  3. USB的端点描述符详解-重新排版
  4. java动态代理原理及解析
  5. IOS swift项目的单例模式.swift5以后的单例模式
  6. 漫画:什么是流行病的 R0 和 R ?
  7. MySQL 之 Metadata Locking 研究
  8. hbase占用内存过高_为什么不建议在 HBase 中使用过多的列族
  9. flex + tomcat + myEclipse环境配置与使用(四)
  10. [技术杂谈][转载]cuda下载官方通道
  11. vscode插件remote-ssh安装及ssh错误
  12. C语言查表法实现CRC-32计算IEEE 802.3标准
  13. Android4.4电池电量命令行查看
  14. 逻辑右移、算术右移与循环逻辑右移
  15. 分布式高频量化交易系统架构讲解(企业版,期货ctp,股票xtp,数字货币,附全部源码)(值得收藏)
  16. java trove_[XMLer的生活]可使用基本类型作为键值的Java集合类-Trove 集合类
  17. Leetcode_动态规划、迭代
  18. 蓝桥杯之二阶魔方旋转
  19. uva 11021 Tribbles 麻球繁衍 概率
  20. 编程语言中,还有一种语言,那就是用中文来编程

热门文章

  1. Python:loc和iloc的区别
  2. 回文子串是什么意思?
  3. RuntimeError: Expected 4-dimensional input for 4-dimensional weight, but got 3-dimensional input
  4. 数据库系列(3):数据库管理系统的分类
  5. QPBOC交易流程详解--POS与卡片的数据交互进行分析
  6. selenium学习之安全微伴自动完成
  7. 压铸人的火眼金睛 | 智铸超云案例分享
  8. 谷粒商城--环境部署(2022/7/28最新)
  9. 10大常见反人类设计:产品经理你的良心不会痛吗
  10. BZOJ1927 [Sdoi2010]星际竞速