Database学习 - mysql 数据库 索引
索引
索引在mysql 中也叫 '键',是存储引擎用来快速找到记录的一种数据结构.索引对于良好的性能非常关键,尤其是当表中的数据量越来越大时,索引对于性能的影响愈发重要.
索引优化应该是对查询性能优化最有效的手段了.索引能够轻易将查询性能提高好几个数量级.索引相当于字段的音序表,如果要查某个字,如果不使用音序表,则需要从几百页中逐页查询
索引的特点:
创建与维护索引会消耗和很多时间与磁盘空间,但查询速度大大提高.
索引操作 - 建表创建索引
创建表时
语法:
create table 表名(
字段名1 数据类型 [完整性约束条件....],
字段名2 数据类型 [完整性约束条件....],
[ UNIQUE | FULLTEXT | SPATLAL ] index | key
[索引名] (字段名[(长度)] [ASC | DESC])
);
普通创建索引示例:
CREATE TABLE table1(
id int,
name varchar(20),
index index_name (name)
);
唯一索引示例:
CREATE TABLE table1(
id int,
name varchar(20) unique,
unique index index_name (name)
);
全文索引示例:
CREATE TABLE table1(
id int,
name varchar(20) unique,
fulltext index index_name (name)
);
多列索引示例:
CREATE TABLE table1(
id int,
name varchar(20) unique,
index index_name (id,name)
);
索引操作 - 添加索引
语法:(CREATE 方式)
CREATE [UNIQUE | FULLTEXT | SPATAL ] INDEX 索引名 ON 表名 (字段名[(长度)] [ ASC | DESC ]) ;
语法:(LATER TABLE 方式)
ALTER TABLE 表名 ADD [UNIQUE | FULLTEXT | SPATAL ] INDEX 索引名(字段名[(长度)] [ ASC | DESC ]) ;
方式1
CREATE INDEX index_name on test1(name); 方式2
ALTER TABLE test1 ADD UNIQUE INDEX index_name(name);
索引操作 - 删除索引
语法:DROP INDEX 索引名 on 表名
DROP INDEX index_name on test1;
DROP INDEX 2 on test2; //test2 表中的第2个字段
Database学习 - mysql 数据库 索引的更多相关文章
- Database学习 - mysql 数据库 表操作
mysql 数据库 表操作 创建数据表 基本语法格式: 创建数据表: create table 表名( 字段名 datatype 约束, 字段名 datatype 约束, ...... ) 修改表名 ...
- Database学习 - mysql 数据库 事务操作
事务 事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功. 数据库开启事务命令: start transaction 开启事务 rollback 回滚事务,即撤销指定的 ...
- Database学习 - mysql 数据库 多表/复合/子 查询
多表查询 多表查询,基本规则,通过两表有关联字段的进行条件匹配查询 内连接查询 方式一: SELECT 查看字段名[,查看字段名] FROM 一表名,二表名 WHERE 一/二表.字段 = 一/二表. ...
- Database学习 - mysql 数据库 外键
外键 外键约束子表的含义:如果在父表中赵达不到候选键,则不允许在子表上进行insert/update 外键预约对父表的含义:在父表上进行update/delete以更新或删除子表中有一条或多条对应匹配 ...
- Database学习 - mysql 数据库 数据操作
mysql数据操作 查询语法 select * | field1,field1 ... from 表名 where 条件 group by 字段 having 筛选 order by 字段 limit ...
- 重新学习MySQL数据库5:根据MySQL索引原理进行分析与优化
重新学习MySQL数据库5:根据MySQL索引原理进行分析与优化 一:Mysql原理与慢查询 MySQL凭借着出色的性能.低廉的成本.丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库.虽然性能 ...
- 重新学习MySQL数据库4:Mysql索引实现原理
重新学习Mysql数据库4:Mysql索引实现原理 MySQL索引类型 (https://www.cnblogs.com/luyucheng/p/6289714.html) 一.简介 MySQL目前主 ...
- 重新学习Mysql数据库4:Mysql索引实现原理和相关数据结构算法
本文转自互联网 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial ...
- 重新学习MySQL数据库3:Mysql存储引擎与数据存储原理
重新学习Mysql数据库3:Mysql存储引擎与数据存储原理 数据库的定义 很多开发者在最开始时其实都对数据库有一个比较模糊的认识,觉得数据库就是一堆数据的集合,但是实际却比这复杂的多,数据库领域中有 ...
随机推荐
- 腾讯云 Ubuntu16.04 搭建Git 服务
一.安装Git服务器所需软件 1.安装git-core, openssh-server, openssh-client三个软件.git-core是git的核心软件: openssh-server.op ...
- 简单易懂的博弈论讲解(巴什博弈、尼姆博弈、威佐夫博弈、斐波那契博弈、SG定理)
博弈论入门: 巴什博弈: 两个顶尖聪明的人在玩游戏,有一堆$n$个石子,每次每个人能取$[1,m]$个石子,不能拿的人输,请问先手与后手谁必败? 我们分类讨论一下这个问题: 当$n\le m$时,这时 ...
- MySQL 5.7双主同步部分表
参考:http://www.jb51.net/article/122892.htm?pc 前言: 我们要配置双主同步的mysql服务器. 暂时叫做,mysql1和mysql2吧. 一 mysql的配 ...
- JS通过键盘点击事件实现div移动
页面内容:文本框模拟键盘点击 div元素实现移动: <body> <textarea id="myarea"></textarea> < ...
- day7 笔记
二进制-----> ASCLL :只能存英文和拉丁字符.-----> gb2312 :只有6700来个中文字符,1980年-----> gbk1.0 :存了2w多字符 ,1995年- ...
- Zabbix监控mysql主从(二)
二.Zabbix-server-web端配置 1:创建一个监控项作为mysql主从 2.创建mysql主从监控图形 三.创建触发器,实现主从异常报警 测试: [root@mysql-slave ...
- happens-before
happens-before是JMM最核心的概念.对应Java程序员来说,理解happens-before是理解JMM的关键. JMM的设计 首先,让我们来看JMM的设计意图.从JMM设计者的角度,在 ...
- Elasticsearch 常见问题的解决思路
本文为es性能监控基础的扩展,大家可以先看下性能监控基础,熟悉下es的基本原理.为翻译性质文档,感谢原作者,原始文档地址 类似于汽车的运行方式,Elasticsearch旨在让用户快速上手和运行,而无 ...
- 【java】详解native方法的使用
目录结构: contents structure [+] 关于native关键字 使用native关键字 使用步骤 案例 编写.java文件 编译.java文件 获得.h文件 编写hello.cpp文 ...
- 平台加载面板的方法$.loadPml
$.loadPml({ paneId:"", paneName:"", loadUrl:"/"+globalURL+"/mvcco ...