Mysql基础知识:索引
Mysql 索引
1. 索引的概念
索引是创建在表上的,对数据库表中的一列或多列的值进行排序的一种结构。
索引有2种存储类型:B型树索引 和 哈希索引。InnoDB和MyISAM存储引擎支持B型树索引,MEMORY存储引擎支持哈希索引。
优点:提高检索数据的速度。对于有依赖关系的子表和父表之间的联合,可提高查询速度;使用分组和排序子句进行数据查询,可显著节省查询时间。
缺点:创建和维护需要耗费时间,耗费的时间随着数据量的增加而增加;索引需要占用物理空间;增加、修改和删除索引时,需要动态的维护索引,会造成数据维护速度降低。
2.索引的分类
1)普通索引:
不加任何限制条件的索引。
2)唯一性索引:
UNIQUE参数设置唯一性索引。
3)全文索引:
使用FULLTEXT参数设置为全文索引。(全文索引只能创建在CHAR、VARCHAR或TEXT类型字段上)
4)单列索引:
为表的单个字段创建索引。
5)多列索引:
为表的多个字段创建一个索引。
6)空间索引:
使用SPATIAL参数设置。
3. 索引的设计原则
1)选择唯一性索引;
2)为经常需要排序、分组和联合操作的字段建立索引;
3)为常作为查询条件的字段建立索引;
4)限制索引的数目;
5)尽量使用数据量少的索引;
6)尽量使用前缀索引;
7)删除不再使用或很少使用的索引。
4. 创建索引
1)创建表的时候创建索引
CREATE TABLE 表名 ( 属性名 数据类型 约束条件,属性名 数据类型 约束条件,...UNIQUE | FULLTEXT | SPATIAL INDEX | KEY别名 ( 属性名1 (长度) ASC | DESC));
INDEX和KEY表示指定字段为索引,两者作用相同选其一即可。
ASC/DESC表示升序排列和降序排列。
2)为已经存在的表创建索引
CREATE UNIQUE | FULLTEXT | SPATIAL INDEX 索引名ON 表名 ( 属性名 (长度) ASC | DESC );
3)用ALTER TABLE语句创建索引
ALTER TABLE 表名 ADD UNIQUE | FULLTEXT | SPATIAL INDEX 索引名 ( 属性名 (长度) ASC | DESC );
5. 删除索引
DROP INDEX 索引名 ON 表名;
转载于:https://www.cnblogs.com/jx-yangbo/p/6391623.html
Mysql基础知识:索引相关推荐
- mongo 唯一约束索引_Java:MySQL 基础知识+索引相关
阅读本文前,请您先点击上面的蓝色字体,再点击"关注",这样您就可以继续免费收到最新文章了.每天都有分享.完全是免费订阅,请放心关注.注:本文转载自网络,不代表本平台立场,仅供读者参 ...
- Mysql基础知识—索引
公司最近开始尝试进行改革,如何活跃团队气氛.开发就给我们说了一些算是科普类的数据库知识,下面参杂自己的理解,方便自己后续翻看. 1.什么是索引 索引在MySQL中也叫做"键",是存 ...
- MySQL工作中的实际用_总结工作中经常用到的mysql基础知识
总结工作中经常用到的mysql基础知识 发布时间:2020-06-08 11:27:30 来源:51CTO 阅读:217 作者:三月 本文主要给大家介绍工作中经常用到的mysql基础知识,文章内容都是 ...
- MySQL基础知识-MySQL概述安装,单表增删改查,函数,约束,多表查询,事物
MySQL基础知识-MySQL概述安装,单表增删改查,函数,约束,多表查询,事物 前言 1.MySQL概述 1.1数据库相关概念 1.2MySQL数据库 1.2.1版本 1.2.2下载 1.2.3安装 ...
- 快速学习mysql_快速学习MySQL基础知识
这篇文章主要梳理了 SQL 的基础用法,会涉及到以下方面内容: SQL大小写的规范 数据库的类型以及适用场景 SELECT 的执行过程 WHERE 使用规范 MySQL 中常见函数 子查询分类 如何选 ...
- MySql基础知识【一】
Mysql基础知识 1. MySql是什么 2. 数据库设计的三大范式 2.1. 第一范式 2.2. 第二范式 2.3. 第三范式 3. Binlog的三种模式 3.1 Statement模式(默认) ...
- 2.MySQL 基础知识
文章目录 MySQL 基础知识 知识点一 : MySQL命令行常用命令 知识点二 : 持久化 相关概念 知识点三 : 数据库 相关概念 知识点四 : DB 和 DBMS 关系图示 知识点五 : MyS ...
- mysql+连接每一行数据_MySQL_深入mysql基础知识的详解,1.每个客户端连接都会从服务 - phpStudy...
深入mysql基础知识的详解 1.每个客户端连接都会从服务器进程中分到一个属于它的线程.而该连接的相应查询都都会通过该线程处理. 2.服务器会缓存线程.因此并不会为每个新连接创建或者销毁线程. 3.当 ...
- mysql基础知识(二)
这一篇是第二部分,要查看第一部分,请查看这个链接 mysql基础知识(一) DQL语言 1.1简单的单表查询 查询表的通用格式:select [distinct] [*] [列名1,列名] from ...
- mysql基础知识(一)
mysql是主流的关系型数据库管理系统(RDBMS---relation database management system),操作是需要用SQL(Structured Query Language ...
最新文章
- 初级JavaScript程序员的绝佳进阶书
- 学习opencv 英文版_电子课本:苏教牛津译林 | 高中英语模块2,赶紧收藏学习吧...
- 鸿蒙系统适配机型_华为鸿蒙 OS 适配机型曝光,除了 Mate 40 还有这几款!
- docker从仓库找镜像
- Java StringBuffer insert(int offset,String s)方法,带示例
- 【转载】分层开发思想与小笼包
- 第一次大作业总结——四则运算程序
- Haproxy均衡负载部署和配置文件详解
- vue是否可以做行车轨迹_特斯拉-概念自行车,是否可以走进大众生活
- 要如何给PDF解密?这几个操作简单的方法可以试试
- 建筑识图与构造【2】
- 如何用计算机制作海报,稿定设计如何制作海报 一键生成海报的方法
- 联想笔记本桌面计算机不见了,联想电脑任务栏不见了怎么还原
- jwt的token自动续约_关于JWT Token 自动续期的解决方案
- CANoe 入门 Step by step系列(二)CAPL编程
- Python中文社区征稿,最高1000元/篇!
- ENVI系列--遥感影像UTM投影计算公式
- python 日志输出为json格式文件_Py修行路 python基础 (二十一)logging日志模块 json序列化 正则表达式(re)...
- 神经网络neural network
- 你必须掌握的,快速幂算法
热门文章
- php 腾讯企业邮箱接口,帮助中心 腾讯企业邮箱OpenApi协议
- linux查询所有目录的txt文件,Linux 在指定目录下的所有文件中查找text文本的方法...
- java 内部类 线程_java多线程基本概述(十四)——Thread内部类的几种写法
- 模糊控制作业c语言,单片机 模糊控制 算法 c语言
- php盒子模型,CSS盒子模型介绍
- boost 递归锁_c++/boost互斥量与锁
- bootstrap 栅栏剧中_Bootstrap 栅栏布局中 col-xs-*、col-sm-*、col-md-*、col-lg-* 区别及使用方法...
- win10安装jboss7_win7系统上jboss6 设置https访问
- python使用shell环境变量_linux中添加环境变量(python为例)
- java类描述_java笔记2:Java语言中的类和对象的描述