mysql,简单介绍一下索引
汉字很多,人力有时尽,人不可能记住所有的字,为了解决这个问题,于是有了字典。数据库里的数据很多,为了方便检索,于是有了索引。
索引,是一种数据结构,在这种数据结构中实现了高级的查找算法,索引可以帮助我们高效地获取数据,提高查询效率。
既然索引有这样的好处,那我们是不是每个字段都该建立索引呢?
当然是不,物极必反,索引是需要占用空间的,而且索引本身也不小,不能存储在内存空间,是存放在磁盘中的。
如果每个字段都建立索引,后果可想而知。
讨论索引的时候,如果没有特别的指明类型,一般都是B树索引。BTree索引可以查阅相关资料了解下,不赘述了。
除了B树索引,另外还有哈希索引等。
索引有哪些分类?
1.单值索引
单值索引是指一个索引只包含一个字段,一个表可以创建多个单值索引,但也不宜过多。
2.唯一索引
主键创建后一定包含一个唯一索引;但唯一索引不一定是主键,允许有空值,一个表可以创建多个唯一索引。
3.复合索引
需要注意的是:复合索引是有顺序的! 举例说明一下。
例如,user表里有id,name,sex三个字段,并且我们创建了name+sex的复合字段。 select * from user where name=x and sex=x; 这个情况是允许使用上面的复合索引的。select * from user where name=x; 这个情况也是允许使用上面的复合索引的。select * from user where sex=x and name=x; 这种情况不允许使用,复合索引有顺序就是指这个意思。select * from user where sex=x; 这种情况也不允许使用索引哦。
复合索引是遵循向左原则的,只要在查询的时候,是按照复合索引从左到右的顺序依次查询
选择哪些列创建索引?
不走索引的情况
转载于:https://www.cnblogs.com/tinyj/p/9861109.html
mysql,简单介绍一下索引相关推荐
- [第11天]mySQL简单介绍
昨天我们说到了SQL,很多朋友说很难,我也知道很难的,说那个只是让大家有个基本的了解,不然以后说一些问题时会很困难的.今天我们来说mySQL,之所以说它是为了让大家对数据库能有个较深的了解.MySQL ...
- MySQL笔记之MySQL简单介绍及DQL语言
MySQL介绍 MySQL服务的启动和停止: 方式一:通过命令行 net start 服务名 net stop 服务名 MySQL服务的登录和退出: 登录:mysql [ -h 主机名 -p 端口号 ...
- MySQL数据库介绍——包含索引、视图、事务、引擎
文章目录 什么是数据库 数据库安装 索引 视图 事务 MySQL数据库优化方式 引擎 什么是数据库 平时我们大家看到的各种网站.网页,其实里面最底层的内容基本上都来自于数据库.首先我们看到的Web页面 ...
- 数据库开发——MySQL——简单介绍和安装
数据库 数据实际上就是描述事物特征的一组符号,数据库指的就是存储数据的仓库. 基于我们之前所学,数据要想永久保存,都是保存于文件中,毫无疑问,一个文件仅仅只能存在于某一台机器上. 在软件开发过程中,程 ...
- mysql简单介绍一对一,一对多,多对多关系处理办法
一对一关系示例:一个学生对应一个学生档案材料,或者每个人都有唯一的身份证编号. 一对多关系示例:一个学生只属于一个班,但是一个学院有多名学生. 多对多关系示例:一个学生可以选择多门课,一门课也有多名学 ...
- python alter table_python(pymysql)之mysql简单操作
一.mysql简单介绍 说到数据库,我们大多想到的是关系型数据库,比如mysql.oracle.sqlserver等等,这些数据库软件在windows上安装都非常的方便,在Linux上如果要安装数据库 ...
- oracle的优化适用于mysql吗_性能优化之数据库优化,适用于Sqlite、Mysql、Oracle、Sql server,详细介绍了索引和事务及部分针对Sqlite的优化...
本文为性能优化的第一篇--数据库性能优化,原理适用于大部分数据库包括Sqlite.Mysql.Oracle.Sql server,详细介绍了索引(优缺点.分类.场景.规则)和事务,最后介绍了部分单独针 ...
- 在mysql中unique唯一索引的作用_MySQL_MySQL中的唯一索引的简单学习教程,mysql 唯一索引UNIQUE一般用于不 - phpStudy...
MySQL中的唯一索引的简单学习教程 mysql 唯一索引UNIQUE一般用于不重复数据字段了我们经常会在数据表中的id设置为唯一索引UNIQUE,下面我来介绍如何在mysql中使用唯一索引UNIQU ...
- mysql binlog update_mysql binlog 简单介绍与基于binlog数据恢复
mysql binlog 简单介绍与基于binlog数据恢复 通过备份文件恢复 binlog(本节重点) binlog 二进制日志文件 show variables like 'log_bin'; 二 ...
最新文章
- 追踪JVM中的本地内存
- 【Android NDK 开发】NDK 交叉编译 ( Ubuntu 中交叉编译动态库 | Android Studio 中配置使用第三方动态库 )
- Android 浏览器 —— 使用 WebView 实现文件下载
- RocketMq namesvr 最佳实践
- MySQL索引知识点
- MySQL的timestamp字段可以使用的范围是多少
- 笔记:《突破现实的困境:趋势、禀赋与企业家的大战略》
- Oracle推断值为非数字
- 同步数据太多php网页卡死_curl_multi网页假死/卡死的解决方法
- wps小写金额转大写快捷键_WPS轻松办公—将数字转换中文大写的两种方法
- Ubuntu 下搭建 GCC 交叉编译工具链
- Python3爬取搜狗微信公众号
- 【WLAN】【基础知识】WIFI那些事儿之Beamforming
- 微服务等于 Spring Cloud?了解微服务架构和框架
- 数据结构-算法与算法描述
- CSAPP LAB Binary bombs实验报告
- latex排版[4]:子公式分别编号
- Linux Mint 15使用问题记录
- Quectel EC600N-CN 中尺寸物联网首选LTE Cat 1模块[移远通信]
- 计算税率c语言编写程序,C语言编写一个计算个人所得税的程序,要求输入收入金额,能够输...
热门文章
- cad 关键字被保留了?选择集关键字保留了? N S W E关键字无法用?
- 3.ELK 之elasticsearch CRUD
- Python学习之==json处理
- pyhton中的魔术方法
- LeetCode 64. Minimum Path Sum(最小和的路径)
- ES6学习笔记之Promise
- [TYVJ] P1016 装箱问题
- 【AJAX】DWR使用总结
- [WP]关于WP7的后台的一些小事情
- php truepath,php – 为什么switch(true)具有比if()elseif()更小的NPath复杂度?