mysql学习笔记--数据库索引
一、索引的优点:查询速度快
二、索引的缺点:
1. 增、删、改(数据操作语句)效率低了
2. 索引占用空间
三、索引类型:
1. 普通索引
2. 唯一索引(唯一键)
3. 主键索引:只要主键就自动创建主键索引,不需要手动创建
4. 全文索引,搜索引擎使用,mysql不支持中文的全文索引,我们通过sphinx去解决中文的全文索引
四、创建索引
1. 创建普通索引
a. 语法:create index 索引名 on 表名 (字段名)
alter table 表名 add index [索引的名称] (列名)
b. 创建表时添加索引
create table t1(
id int,
name varchar(10),
index ix_name (name)
);
2. 创建唯一索引
a. 语法一:create unique index 索引名 on 表名 (字段名)
b. 语法二:alter table 表名 add unique [索引名] (列名)
c. 创建表时添加唯一索引,和创建唯一键是一样的
五、删除索引
1. 语法:drop index 索引名 on 表名
六、创建索引的原则
1. 该列用于频繁搜索
2. 该列用于排序
3. 公共字段要创建索引
4. 如果表中数据较少,不需要创建索引。mysql搜索索引的时间比逐条搜索数据的时间要长。
5. 如果一个字段上的数据只有几个不同的值,该字段不适合索引,比如性别。
mysql学习笔记--数据库索引的更多相关文章
- MySQL学习笔记-数据库文件
数据库文件 MySQL主要文件类型有如下几种 参数文件:my.cnf--MySQL实例启动的时候在哪里可以找到数据库文件,并且指定某些初始化参数,这些参数定义了某种内存结构的大小等设置,还介绍了参数类 ...
- MySQL学习笔记-数据库内存
数据库内存 InnoDB存储引擎内存由以下几个部分组成:缓冲池(buffer pool).重做日志缓冲池(redo log buffer)以及额外的内存池(additional memory pool ...
- MySQL学习笔记-数据库后台线程
数据库后台线程 默认情况下讲述的InnoDB存储引擎,以后不再重复声明.后台线程有7个--4个IO thread,1个master thread,1个锁监控线程,1个错误监控线程.IO thread的 ...
- MySQL学习笔记(三)—索引
一.概述 1.基本概念 在大型数据库中,一张表中要容纳几万.几十万,甚至几百万的的数据,而当这些表与其他表连接后,所得到的新的数据数目更是要大大超出原来的表.当用户检索这么大量的数据时,经 ...
- MYSQL学习笔记——数据库范式及MYSQL优化整体思路
一.数据库范式 为了建立冗余较小.结构合理的 ...
- mysql学习笔记--数据库操作
一.显示数据库 show databases; 二.创建数据库 create database [if not exists] 数据库名 [字符编码] 注意: a. 如果已经存在数据库再创建会报错 b ...
- mysql学习笔记--数据库视图
一.视图 1. 概念 a. 视图是一张虚拟表,它表示一张表的部分或多张表的综合的结构 b. 视图仅仅是表结构,没有数据.视图的结构和数据建立在表的基础上 2. 创建视图 a. 语法: create [ ...
- mysql学习笔记--数据库单表查询
一.查询语句 1. select [选项] 列名 [from 表名] [where 条件] [order by 排序] [group by 分组] [having 条件] [limit 限 ...
- mysql学习笔记--数据库设计
一.数据库基本概念 1. 关系:两个表的公共字段 2. 行:也称记录,也称实体 3. 列:也称字段,也称属性 4. 数据冗余:相同的数据存在不同的地方. 注意:冗余只能减少,不能杜绝. 减少冗余,只能 ...
随机推荐
- 使用Microsoft.Office.Interop.Excel.dll 文件来生成excel 文件
日常工作中经常需要将后台的数据导出成excel 格式,这里通过调用微软提供的类库来生成excel 文件. 具体是引用 了Microsoft.Office.Interop.Excel.dll 类库文件 ...
- CleanMyMac X教程之-安装卸载
Mac清理软件CleanMyMac X的出现成功的吸引了Mac用户的注意,CleanMyMac X是2018年发布的,深受许多Mac用户的青睐.windows操作端有360等众多清洁软件,那么Mac端 ...
- quartz.properties完整版
我们通常是通过quartz.properties属性配置文件(默认情况下均使用该文件)结合StdSchedulerFactory 来使用Quartz的.StdSchedulerFactory 会加载属 ...
- golang初识3 - func
1. 功能块(function block) 格式: func function_name( [parameter list] ) [return_types] { //body } 与delphi的 ...
- kettle在centos7下部署分布式集群
首先安装三台centos7 ,分别配置好静态ip ssh免密码登录 关闭防火墙 具体步骤这里不多说了 关于centos7配置静态ip大家可以参考:https://www.cnblogs. ...
- DLC 数制与数制的转换
进位计数值:用进位的方法进行计数 常用数值有十进制.二进制.八进制.十六进制等. 进位计数制把包括基数与权两个基本问题.
- java-索引
集合 集合之深入理解HashMap HashMap的实现原理,以及在JDK1.7和1.8的区别 Java集合---ConcurrentHashMap原理分析 ConcurrentHashMap原理分析 ...
- iOS如何转换十三位的时间戳
//将十三位的时间戳转换为日期 - (NSString *)getDate:(NSString *)jsonDate { //jsonDate类似这种/Date(1447659630000)/ NSA ...
- Spring 依赖注入(基本注入和自动适配注入)
Spring 依赖注入 Spring框架的核心功能之一就是通过依赖注入的方式来管理Bean之间的依赖关系. 属性注入 构造注入 内部注入 自动装配 1.属性注入 IService: public in ...
- 记数据库数据文件损坏恢复ORA-00376+ORA-01110
现象:业务平台无法登陆,日志报错为ORACLE的错误. 查看oracle日志的报错, ORA-00376: file 5 cannot be read at this time ORA-01110: ...