今天鞋百科给各位分享论文著作索引的作用有哪些的知识,其中也会对索引有什么作用?(索引的作用是什么?)进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在我们开始吧!
索引有什么作用?
在数据库系统中建立索引主要有以下作用:
(1)快速取数据;
(2)保证数据记录的唯一性;
(3)实现表与表之间的参照完整性;
(4)在使用ORDER by、group by子句进行数据检索时,利用索引可以减少排序和分组的时间。
扩展资料:
优点
1、大大加快数据的检索速度;
2、创建唯一性索引,保证数据库表中每一行数据的唯一性;
3、加速表和表之间的连接;
4、在使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间。
缺点
1、索引需要占物理空间。
2、当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,降低了数据的维护速度。
数据库索引有什么作用和好处?
数据库索引是为了增加查询速度而对表字段附加的一种标识。见过很多人机械的理解索引的概念,认为增加索引只有好处没有坏处。这里想把之前的索引学习笔记总结一下: 首先明白为什么索引会增加速度,DB在执行一条Sql语句的时候,默认的方式是根据搜索条件进行全表扫描,遇到匹配条件的就加入搜索结果集合。如果我们对某一字段增加索引,查询时就会先去索引列表中一次定位到特定值的行数,大大减少遍历匹配的行数,所以能明显增加查询的速度。那么在任何时候都应该加索引么?这里有几个反例:1、如果每次都需要取到所有表记录,无论如何都必须进行全表扫描了,那么是否加索引也没有意义了。2、对非唯一的字段,例如“性别”这种大量重复值的字段,增加索引也没有什么意义。3、对于记录比较少的表,增加索引不会带来速度的优化反而浪费了存储空间,因为索引是需要存储空间的,而且有个致命缺点是对于update/insert/delete的每次执行,字段的索引都必须重新计算更新。 那么在什么时候适合加上索引呢?我们看一个Mysql手册中举的例子,这里有一条sql语句: SELECT c***mpanyID, c***mpanyName FROM Companies c, User u WHERE c***mpanyID = u.fk_companyID AND c.numEmployees >= 0 AND c***mpanyName LIKE '%i%' AND u.groupID IN (SELECT g.groupID FROM Groups g WHERE g.groupLabel = 'Executive') 这条语句涉及3个表的联接,并且包括了许多搜索条件比如大小比较,Like匹配等。在没有索引的情况下Mysql需要执行的扫描行数是77721876行。而我们通过在companyID和groupLabel两个字段上加上索引之后,扫描的行数只需要134行。在Mysql中可以通过Explain Select来查看扫描次数。可以看出来在这种联表和复杂搜索条件的情况下,索引带来的性能提升远比它所占据的磁盘空间要重要得多。 那么索引是如何实现的呢?大多数DB厂商实现索引都是基于一种数据结构——B树。因为B树的特点就是适合在磁盘等直接存储设备上组织动态查找表。B树的定义是这样的:一棵m(m>=3)阶的B树是满足下列条件的m叉树: 1、每个结点包括如下作用域(j, p0, k1, p1, k2, p2, ... ki, pi) 其中j是关键字个数,p是孩子指针 2、所有叶子结点在同一层上,层数等于树高h 3、每个非根结点包含的关键字个数满足[m/2-1]<=j<=m-1 4、若树非空,则根至少有1个关键字,若根非叶子,则至少有2棵子树,至多有m棵子树 看一个B树的例子,针对26个英文字母的B树可以这样构造: 可以看到在这棵B树搜索英文字母复杂度只为o(m),在数据量比较大的情况下,这样的结构可以大大增加查询速度。然而有另外一种数据结构查询的虚度比B树更快——散列表。Hash表的定义是这样的:设所有可能出现的关键字集合为u,实际发生存储的关键字记为k,而|k|比|u|小很多。散列方法是通过散列函数h将u映射到表T[0,m-1]的下标上,这样u中的关键字为变量,以h为函数运算结果即为相应结点的存储地址。从而达到可以在o(1)的时间内完成查找。
然而散列表有一个**,那就是散列冲突,即两个关键字通过散列函数计算出了相同的结果。设m和n分别表示散列表的长度和填满的结点数,n/m为散列表的填装因子,因子越大,表示散列冲突的机会越大。
因为有这样的**,所以数据库不会使用散列表来做为索引的默认实现,Mysql宣称会根据执行查询格式尝试将基于磁盘的B树索引转变为和合适的散列索引以追求进一步提高搜索速度。我想其它数据库厂商也会有类似的策略,毕竟在数据库战场上,搜索速度和管理安全一样是非常重要的竞争点。
书的索引是什么意思
索引是将文献中具有检索意义的事项(可以是人名、地名、词语、概念、或其他事项)按照一定方式有序编排起来,以供检索的工具书。
查找图书、期刊或其他文献中的语词、概念、篇目或其他事项的检索工具。通常由一系列按字顺或其他逻辑次序排列的款目组成。其基本功能是揭示文献的内容和指引读者查找文献。
引文索引是什么意思?
引文索引是利用文献的引用和被引用关系建立起来的一种新型索引。
50年代由美国情报学家尤金·加菲尔德(E.Garfield,1925- )根据法律上的“谢泼德引文”(Shepard′s ci-tation)的引证原理而研制的。
它在编制原理、体例结构、检索方法等方面与常规的索引不同,具有独特的性能与功用,是常规索引的一种重要补充。
其编制原理是将引文本身作为检索词,标引所有引用过某一引文的文献。检索时,是从被引用文献去检索引用过该文献的其它文献。
扩展资料:
引文索引特点:
1、引文索引克服了使用传统的主题索引和分类索引有时难以选定主题词或分类号的缺点,提供一种方便而实用的检索途径。
2、标引时无需进行主题分析查看主题词表或分类表,便于计算机自动处理。
3、引文索引存在收录文献不全,篇幅过大,因引文的不可靠性有时造成误检等缺点。
参考资料来源:百度百科-引文索引
论文前言有什么作用啊?
论文的前言也叫引言,是正文前面一段短文。前言是论文的开场白,目的是向读者说明本研究的来龙去脉,吸引读者对本篇论文产生兴趣,对正文起到提纲掣领和引导阅读兴趣的作用。