数据库中索引的优缺点和分类
1、索引的概念
索引就是为了提高数据的检索速度。数据库的索引类似于书籍的索引。
在书籍中,索引允许用户不必翻阅完整个书就能迅速地找到所需要的信息。在数据库中,索引也允许数据库程序迅速地找到表中的数据,而不必扫描整个数据库.
2、索引的优点
1.创建唯一性索引,保证数据库表中每一行数据的唯一性
2.大大加快数据的检索速度,这也是创建索引的最主要的原因
3.减少磁盘IO(向字典一样可以直接定位)
3、索引的缺点
1.创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加
2.索引需要占用额外的物理空间
3.当对表中的数据进行增加、删除和修改的时候,
索引也要动态的维护,降低了数据的维护速度
4、索引的分类
1.普通索引和唯一性索引
普通索引:CREATE INDEX mycolumn_index(索引名) ON mytable (表名)
唯一性索引:保证在索引列中的全部数据是唯一的
CREATE unique INDEX mycolumn_index ON mytable (myclumn)
2. 单个索引和复合索引
单个索引:对单个字段建立索引
复合索引:又叫组合索引,在索引建立语句中同时包含多个字段名,
最多16个字段
CREATE INDEX name_index ON userInfo(firstname,lastname)
3.顺序索引,散列索引,位图索引
数据库中索引的优缺点和分类相关推荐
- 数据库中索引(index)介绍
本文主要介绍数据库中索引(index)的相关知识. 1 概述 1.1 What 数据库中的索引(index),是数据库管理系统(DBMS)中的一个排序的数据结构,用于协助快速查询.更新数据库表中的数据 ...
- Sqlite数据库中索引的使用、索引的优缺点
要使用索引对数据库的数据操作进行优化,那必须明确几个问题: 1.什么是索引 2.索引的原理 3.索引的优缺点 4.什么时候需要使用索引,如何使用 围绕这几个问题,来探究索引在数据库操作中所起到的作用. ...
- mysql的索引缺点_Sqlite数据库中索引的使用、索引的优缺点
pptv网络电视2017V4.0.2.0035 官方最新版 类型:网络电视大小:31.6M语言:中文 评分:9.2 标签: 立即下载 要使用索引对数据库的数据操作进行优化,那必须明确几个问题: 1.什 ...
- Sqlite数据库中索引的使用、索引的优缺点[转]
原文链接1 原文链接2 3. 索引的种类 1)聚集索引:表中行的物理顺序与键值的逻辑(索引)顺序相同.因为数据的物理顺序只能有一种,所以一张表只能有一个聚集索引.如果一张表没有聚集索引,那么这张表 ...
- mysql建立索引 有什么缺陷_MySQL数据库建立索引的优缺点以及什么样的字段适合建立索引...
建立索引的优缺点: 为什么要创建索引呢? 这是因为,创建索引可以大大提高系统的性能. 第一.通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性. 第二.可以大大加快 数据的检索速度,这也是创建索 ...
- 面试题(一)- 谈谈你对数据库中索引的理解
转载自<http://www.cnblogs.com/newpanderking/p/3781043.html> 1.首先要明白无名无实莫要用索引:因为数据中的记录很多,为了方便我们查找, ...
- 二、谈谈对数据库中索引的理解
索引结构 索引的类型 主存储格式 索引类型 基于磁盘的行存储 聚集.非聚集.唯一.Filtered 列存储 聚集列存储.非聚集列存储 内存优化 哈希.内存优化非聚集 行存储 行存储是存储关系表数据的传 ...
- Oracle数据库中索引的维护
本文只讨论Oracle中最常见的索引,即是B-tree索引.本文中涉及的数据库版本是Oracle8i. 一. 查看系统表中的用户索引 在Oracle中,SYSTEM表是安装数据库时自动建立的,它包含数 ...
- 数据库中索引的填充因子
在创建聚集索引时,表中的数据按照索引列中的值的顺序存储在数据库的数据页中.在表中插入新的数据行或更改索引列中的值时,Microsoft® SQL Server™ 2000 可能必须重新组织表中的数据存 ...
最新文章
- 微软职位内部推荐-Software Engineer II
- 【渝粤题库】陕西师范大学200641高等数学作业(高起专、专升本)
- 网络空间技术实验室:打造信息安全技术培育平台
- vue限制只能输入数字_vue的input中,如何限制只能输入number
- Mysql 如何通过binlog日志恢复数据
- Netty工作笔记0044---scheduledTaskQueue
- Thinking in Java Reading Note(5.初始化与清理)
- 7-7Hadoop学习之常用Linux命令与集群配置
- 基于matlab的车牌识别
- ubuntu 刷新频率 如何查看_ubuntu如何调整显示的分辨率和刷新率?
- 斗地主+三人+叫地主+作弊(可设置)+积分属性+记牌器(可设置)
- python自动回复_Python—itchat实现微信自动回复
- PAKE: Password-authenticated key agreement
- JAVA串口通信开发
- 《linux内核分析》第二次课 实验作业
- dll占的究竟是谁的空间?——浅谈Windows内存机制
- 简单的小程序——可操作的表白神器
- 直观打印二叉树的图形
- 未来计算机朝着微型化 巨型化,从目前来看,未来计算机将朝着微型化、巨型化、__________和智能化方向发展....
- 实验8:Problem D: 选举班干部了!