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. 数据冗余:相同的数据存在不同的地方. 注意:冗余只能减少,不能杜绝. 减少冗余,只能 ...
随机推荐
- 【转】redis实现的分布式锁
参考: 1. https://www.bbsmax.com/A/WpdKpM1zVQ/ 2.https://www.oschina.net/translate/redis-distlock
- 微信小程序+没有找到node_modules目录
第一步:设置-->项目设置-->使用npm模块 第二步:右键目录下miniprogram-->终端打开-->输入npm init-->在packagename下输入:sm ...
- ES6 实战项目构建 ES6+glup+express
ES6推出已经有几个年头了,平时也有学过一些基本语法,无奈实践经验太少.而且前端早已脱离了刀耕火种的时代,一些自动化构建工具像gulp.webpack等也需要熟练掌握.最近刚签了三方,闲暇之余就找了个 ...
- php curl使用 常用操作
1. http Get 简单的只需要 这四行 就 $ch = curl_init (); curl_setopt ( $ch, CURLOPT_URL, "http://site" ...
- 找不到visual studio模板信息 解决方法
菜单->工具->选项->项目和解决方案-> 将"Visual Studio 用户项目模板位置"指向vs安装目录:"E:/Program Fil ...
- 小程序navigateBack,子页面传值给父页面
子页面 let page = getCurrentPages(); let prevPage = page[page.length - 2]; prevPage.setData({ lxr :item ...
- LayaAir疑难杂症之一:List渲染无法生效
问题描述 使用Laya的list来做图片列表展示,无法渲染list. 原因分析 根据官网提供的文档,要将list的renderType设置为render,如图所示: 完全按照官网示例做的,但是还是 ...
- Powerdesigner16 逆向 postgresql9.2
参考配置连接:https://www.cnblogs.com/simpleZone/p/5489781.html 过程中遇到的问题: 1.Powerdesigner需要用32位的jdk进行逆向,所以需 ...
- HttpClient 302重定向
CloseableHttpClient是线程安全的,单个实例可用于处理多个HTTP请求,Http Client会自动处理所有的重定向,关闭自动重定向需要设定disableAutomaticRetrie ...
- LeetCode 206. Reverse Linked List倒置链表 C++
Reverse a singly linked list. Example: Input: 1->2->3->4->5->NULL Output: 5->4-> ...