`
lixuanbin
  • 浏览: 137746 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

数据库索引基础知识问答

    博客分类:
  • DB
阅读更多
什么是索引?
与图书的索引类似,数据库索引就是一个指针,指向表里的数据,一般釆用某种高级树结构实现。
 
 
 
索引的作用?
 
提高检索速度。没有使用索引的查询会导致全表扫描,对每行记录相关的字段执行条件校验。
 
 
 
索引的缺点?
 
占据磁盘空间,运行时需要额外的维护开销,减缓批处理操作。
 
 
 
如何创建索引?
 
create (unique) index index_name on table_name(column1, ...)
 
 
 
如何删除索引?
 
drop index index_name on table_name
 
 
 
索引有哪些种类?
 
单字段索引:基于一个字段创建的索引。
 
组合索引:基于两个或多个字段创建的索引,最有限制性或者总是会指定的字段放在前面。
 
唯一索引:不允许重复值。
 
隐含索引:自动创建的索引,比如主键约束和唯一性约束;
 
聚集索引:表中行的物理顺序与键值的逻辑(索引)顺序相同,一张表只能有一个聚集索引;
 
非聚集索引:表中行的物理顺序与索引顺序无关。
 
 
 
何时应该使用索引?
 
主键约束和唯一性约束会自动创建索引;
 
外键;
 
联表查询经常用到的字段;
 
经常在order by和group by引用的字段;
 
具有大量唯一值的字段;
 
在where子句会返回很少记录的字段。
 
 
 
何时不该使用索引?
 
小规模的表;
 
在where子句会返回大部分记录的字段;
 
经常被操作的字段;
 
包含大量null值的字段;
 
经常会被批量更新的表可以在执行批量操作之前删除索引,完成操作后再重建索引。
 
 
 
小结:
 
需要对表的关系、査询和事务需求,以及对数据本身有透彻的了解才能有效地使用索引。
 
编译、整理自:
【SQL入门经典(第5版)】
http://www.cnblogs.com/flashicp/archive/2007/05/08/739245.html1
http://foocoder.com/blog/tan-shu-ju-ku-suo-yin-he-sqlitezhong-suo-yin-de-shi-yong.html/
http://tech.meituan.com/mysql-index.html
分享到:
评论

相关推荐

    数据库基础知识面试问答指南 - ACID特性和性能优化技巧

    内容概要:本文是一份数据库相关技术点的问答资料,涵盖了如数据库ACID特性定义、数据库索引概念及其优劣分析、SQL的各种JOIN操作解析以及数据库性能优化策略等内容。通过对这些问题的回答,帮助读者全面掌握数据库...

    数据库系统原理期末考试简答题.docx

    总的来说,数据库系统原理涵盖的内容广泛,包括数据独立性、查询操作、安全性、完整性规则、设计过程、索引优化和并发控制等多个方面,这些都是构建高效、安全、可靠数据库系统的基础。理解和掌握这些知识点对于...

    关于数据库设计的几个问答

    本文将深入解析“关于数据库设计的几个问答”这一主题,基于给定的文件信息,提炼并阐述其中涉及的重要知识点,涵盖数据库设计的基本步骤、概念模型到逻辑模型的转换、以及数据库性能优化等方面。 ### 数据库设计的...

    数据库学习日积月累资料

    首先,关于数据库的基础知识,我们需要了解数据库的定义和分类。数据库是一个系统化的数据集合,用于存储、管理和检索信息。根据管理模式,数据库可以分为层次型、网络型、关系型(如SQL)、对象关系型和NoSQL(非...

    数据库面试常见问题与答案 - 范式、SQL注入、ACID特性、索引、JOIN类型和视图

    使用场景及目标:帮助读者全面复习数据库基础知识,提升面对面试中可能出现的技术问答环节的能力,增强应聘成功的几率。 其他说明:文档中的问题和解释都非常详细,不仅适合面试前复习使用,也是日常工作中遇到类似...

    西农数据库复习资料

    这个资料包涵盖了SQL语言的基础知识以及数据库管理的基本概念,同时提供了西农以往数据库试题,对于理解数据库原理、提升SQL操作技能以及熟悉考试格式具有极大的帮助。 SQL,全称为Structured Query Language,是...

    基于Neo4j图数据库+JAVA实现的知识图谱和策略构建智能问答引擎+源代码+文档说明

    用途:对3.2.0版本的neo4j数据库进行增删改查外加索引的操作 特性: 1.neo4j自带的服务端对中文建立的内置索引分词粒度以字为单位,不太符合实际需求,而且cypher语法没有对分词器的选择操作语句,修改采用elastic做...

    软考数据库工程师2017年真题与解析

    考生需要具备一定的数据库管理系统(DBMS)实际操作经验,理解索引原理、查询优化、存储过程、触发器的使用,以及数据库安全性的实现,如用户权限管理、数据加密等。 此外,2017年的软考数据库工程师真题还可能涵盖...

    mysql运维基础知识面试问答题.pdf

    若是数据库慢导致,需要检查数据库的查询语句是否优化,索引是否合理,服务器配置是否足够等。 调整生产线中MySQL数据库的字符集: 可通过ALTER DATABASE或ALTER TABLE命令调整字符集,例如:ALTER DATABASE `...

    广工数据库考试试卷及答案

    理解DBMS的工作原理,包括事务处理、并发控制、恢复机制和安全性,这些都是数据库理论的重要部分,可能在考试中以问答形式出现。 第五,关系代数和关系演算是数据库理论的理论基础,它们用于描述数据库操作。例如,...

    构建本地知识库的ChatGLM问答系统实现.zip

    5. **知识库构建**:本地知识库是问答系统的基础,它可能由结构化数据(如数据库)或非结构化文本(如网页、文档)组成。知识库的构建包括数据的收集、整理、去重和索引,以便模型能够高效地搜索和利用信息。 6. **...

    山东大学数据库考试复习资料

    5. **chapter3.pdf**:第三章很可能是关于SQL语言的基础知识,包括DML(数据操作语言)如SELECT、INSERT、UPDATE、DELETE,以及DDL(数据定义语言)如CREATE、ALTER、DROP等语句的使用。 6. **chapter15.pdf****和*...

    数据库概论教程及课后习题解答

    "数据库概论教程及课后习题解答"是一份专门为初学者设计的资源,旨在帮助他们快速掌握数据库系统的基础知识。 教程可能涵盖以下几个关键知识点: 1. **数据库定义与类型**:首先会介绍什么是数据库,它如何不同于...

    Oracle 数据库傻瓜编程1000问 CHM 格式版.rar

    这个资源对于初学者来说是一个宝贵的教程,它涵盖了Oracle数据库的基础知识、SQL查询、PL/SQL编程、数据库管理、性能优化等多个方面。 1. **Oracle基础知识** - Oracle数据库的架构:理解Oracle的实例、数据库、表...

    05年数据库工程师答案

    数据结构包括数组、链表、树、图等,特别是B树和B+树,它们在数据库索引中的应用尤为重要。了解这些数据结构的特性,能帮助考生理解如何优化查询性能,比如如何利用索引来快速定位数据。 "05年上半年数据库系统工程...

    数据库入门

    本文将深入探讨数据库的基础知识,特别是针对SQL Server数据库的入门指南,适用于数据库相关的考试,包括考研复试的面试问答,特别关注电子科大的学生。 一、数据库基本概念 1. 数据库(Database):是一个有组织地...

    VC知识库1-53期合订本索引文件

    1. **主题分类**:索引文件会根据不同的主题进行分类,如基础语法、类库使用、内存管理、多线程编程、图形用户界面设计、数据库连接等,便于用户按需查找。 2. **文章列表**:每一期杂志的每篇文章都会在索引中列出...

    历年数据库系统工程师真题答桉2004-2010.rar

    数据库系统工程师考试通常包括选择题、填空题、问答题等,涉及的知识点广泛,涵盖了数据库理论、SQL语言、数据库设计、数据库管理、性能调优等多个方面。 在数据库理论部分,考生需要掌握关系数据库模型的基本概念...

Global site tag (gtag.js) - Google Analytics