论文部分内容阅读
【摘要】随着全球信息化的发展,计算机技术得到普遍的应用,并日益成为人们日常生活中的必不可少的工具,这从而也就推动了那些应用软件的发展进一步造成了日常数据的不断地增加,当今社会的效率是相当重要的,因此伴随着数据量的不断的增多,数据库统计技术和数据库查询技术也就扮演着越来越重要的角色。只有不断的优化数据库查询系统提高数据库查询额效率才能更好的适应飞速发展的计算机时代。本文就合理索引的数据库查询优化进行一个简单的研究。
【关键词】信息化 计算机技术 数据库查询 优化
【中图分类号】TP311 【文献标识码】A 【文章编号】1672-5158(2012)11-0080-01
在最近几年,由于多媒体技术以及计算网络的迅速发展,这也促进了数据库系统的迅速的发展,数据库的技术伴随着计算机技术在多个领域得到不同的应用,比如企业,银行,会计,政府行政部门等等各方面的管理以及网上订的火车票,机票等等以及旅店和会计电算化和图书馆的管理等都是需要应用数据库的。因此,需要很好的适应社会信息化的发展,更好的充分利用计算机,深刻地去了解数据库就可以很好的给前台的应用程序设计带来简便,并同时给后台数据库进行编码和扩充,给计算机系统的维护带来很多好处。但是由于我国的现有的数据库查询系统仍然不够强劲,加上数据库中的一些数据会随着时间的增加而不断的积累增多,这也就慢慢地会导致数据库查询的一个效率的降低,那么怎么样来提高数据库的查询效率就是现在亟待解决的问题。建立合理的数据库索引来优化数据库查询。就需要不断地去进行研究和优化。
一、数据库的概念以及索引概念
数据库就是按照一些数据的模型来组织起来并且进一步存放在二级存储器中的一个数据的集合。那种数据的集合有它自身特有的一些特点:首先,数据库中的数据尽可能不重复,并且以最优的某种方式为一个特定的组织中的多个应用服务,它的数据结构是和使用它的应用程序之间相独立的,对数据的增加、删减、改编和检索这些方面它是由统一软件来进行严格的管理和控制的。从数据库的发展的历史来看,数据库可以说是数据管理发展的的一个高层次的阶段,它是通过文件管理的这个系统慢慢地发展起来的。索引则是指一个物理和单独的关于数据库的结构他是一张表中列值的集合以及一些值的数据页的逻辑指针清单。
二、数据库的特性
1、数据库具有分散的储存性,在分布式的数据库统计中,他是以节点的方式来进行分散式储存,并储存在不一样的站点下,它和集中管理的数据库数据相区别,特点是分散性和关联性。
2、在数据库网络中,各个站点所实施的数据是相互独立的,它虽然是信息共享的形式,但是却也独自进行局部管理。
3、数据库中的数据在逻辑上也具有整体性,它们在分散的存放过程之中与其它的各个数据之间也是具有这里所说的逻辑关联的。
三、索引的优缺点以及影响索引的因素
在信息化的社会,索引有其固有的很多优点,首先,就是数据库查询可以通过合理的来提高查询数据的速度,过去,数据查询总是通过顺序扫描,这样做的话,就会费时费力,增加检索查询的一个工作量和耗时量。另外它也可以保证被索引的字段的一个唯一性,当有时候只需要检索出个别字段的时候可以避免顺序扫面从而读出全部字段的一个内容。大大缩短了数据库检索内容的时间并且保证了被检索字段的唯一性提高数据排序的速度。每一件事物都是有两面性,现在的检索也有其缺点,比如说,在数据库中,插入、修改、删除记录的时候增加系统的开销并且也在占用着额外的系统储存空间。那么索引的影响因素又是什么呢?从索引的建立来看,它一方面作为主要提高数据库存取速度手段,此外,它又还需要增加额外的一个储存空间。但是,众所周知,系统的空间也往往具有有限性。从这些来看,索引所选择的问题就必须在有限的一个空间里去建立一个程度有限的索引,这些都也必须在不影响用户在速度和效率上的要求。对于索引来说,影响索引的因素可以说是相当复杂的,这些复杂的因素就包括:1,概率,这是只一个字段在查询条件中所出现的概率;2,概率分布,这就是指各个字段的值域中每个值之间的概率分布;3,频率,这就是指数据库索引本身的维护的一个代价和数据库修改、插入、删除的频率。
四、两种索引的结构
相信大家都看见过汉语词典的正文,其实,这个正文就是一个聚集索引。就想我们要在词典里查询一个字,大家肯定第一下翻得就是汉语词典的前几页来找寻要查的字的首个拼写字母,在查找完以后就会出现与这个字拼音相同的字,就只需要在所有拼音相同的字中找寻那个自己所想要找的那个字,这就是个很典型的索引形式,这个汉语词典的正文的整个部分就相当于一个检索,我们就不必再去找寻或者查询其他目录的类容,这种模式就是所谓的聚集索引,它是把正文的本身按照某种特定的规则规定来进行一系列排列的目录。那什么是非聚集索引呢?还是拿查汉语词典这个例子来说,如果某个人想要查询一个词,它是认识这个词的也知道这个词的发音,就能够很快的检索出来,但是当用户不知道某个字,当然,也就不可能知道他的发音了,这个时候按照聚集索引就不太现实,这就需要按照另一种方式来查,就需要结合“部首目录”和“检字法”,但是这种检字法查到的字并不是真正意义的正文的排序方法,这中目录纯粹是目录,正文纯粹是正文的方法就叫做“非聚集索引”。这两种索引只能存在于一个表中,因为目录就只能按照其中一种方法来进行排序。
五、怎么样优化合理索引
1、深入浅出的理解索引结构,理解两种索引之间的联系和区别。
2、理解何时使用聚集索引和非聚集索引,就如同上面所列举的例子来说,再合适的时候去凭借自己的理解进行两种索引的一种合理的利用,以便于提高自己的效率。
3、必须实事求是,结合实际,尽量避免走进索引的误区,每一个理论的最终目的都是进行实践,就算在理论上分辨的很清楚什么时候用聚集索引什么时候用非聚集索引,但是在实践中却并非这样,很多人把主键认为是聚集索引,这是一个很严重的错误,这样不合理的设置和认为就会对聚集索引造成浪费,每个表中只有一个聚集索引,随便的乱用就会造成浪费;其次,并非建立索引就能提高速度。
总结:每件事物都是具有其两面性的,索引在一方面能够提高数据库的检索性能,提高工作效率,但是过分过多和不合适的使用索引不仅仅不能提高效率,相反,还会降低效率。因此,要建立适当的索引就必须勇于去尝试不同的检索方法并加以归纳总结。让数据库得到更为充分的发挥。
【关键词】信息化 计算机技术 数据库查询 优化
【中图分类号】TP311 【文献标识码】A 【文章编号】1672-5158(2012)11-0080-01
在最近几年,由于多媒体技术以及计算网络的迅速发展,这也促进了数据库系统的迅速的发展,数据库的技术伴随着计算机技术在多个领域得到不同的应用,比如企业,银行,会计,政府行政部门等等各方面的管理以及网上订的火车票,机票等等以及旅店和会计电算化和图书馆的管理等都是需要应用数据库的。因此,需要很好的适应社会信息化的发展,更好的充分利用计算机,深刻地去了解数据库就可以很好的给前台的应用程序设计带来简便,并同时给后台数据库进行编码和扩充,给计算机系统的维护带来很多好处。但是由于我国的现有的数据库查询系统仍然不够强劲,加上数据库中的一些数据会随着时间的增加而不断的积累增多,这也就慢慢地会导致数据库查询的一个效率的降低,那么怎么样来提高数据库的查询效率就是现在亟待解决的问题。建立合理的数据库索引来优化数据库查询。就需要不断地去进行研究和优化。
一、数据库的概念以及索引概念
数据库就是按照一些数据的模型来组织起来并且进一步存放在二级存储器中的一个数据的集合。那种数据的集合有它自身特有的一些特点:首先,数据库中的数据尽可能不重复,并且以最优的某种方式为一个特定的组织中的多个应用服务,它的数据结构是和使用它的应用程序之间相独立的,对数据的增加、删减、改编和检索这些方面它是由统一软件来进行严格的管理和控制的。从数据库的发展的历史来看,数据库可以说是数据管理发展的的一个高层次的阶段,它是通过文件管理的这个系统慢慢地发展起来的。索引则是指一个物理和单独的关于数据库的结构他是一张表中列值的集合以及一些值的数据页的逻辑指针清单。
二、数据库的特性
1、数据库具有分散的储存性,在分布式的数据库统计中,他是以节点的方式来进行分散式储存,并储存在不一样的站点下,它和集中管理的数据库数据相区别,特点是分散性和关联性。
2、在数据库网络中,各个站点所实施的数据是相互独立的,它虽然是信息共享的形式,但是却也独自进行局部管理。
3、数据库中的数据在逻辑上也具有整体性,它们在分散的存放过程之中与其它的各个数据之间也是具有这里所说的逻辑关联的。
三、索引的优缺点以及影响索引的因素
在信息化的社会,索引有其固有的很多优点,首先,就是数据库查询可以通过合理的来提高查询数据的速度,过去,数据查询总是通过顺序扫描,这样做的话,就会费时费力,增加检索查询的一个工作量和耗时量。另外它也可以保证被索引的字段的一个唯一性,当有时候只需要检索出个别字段的时候可以避免顺序扫面从而读出全部字段的一个内容。大大缩短了数据库检索内容的时间并且保证了被检索字段的唯一性提高数据排序的速度。每一件事物都是有两面性,现在的检索也有其缺点,比如说,在数据库中,插入、修改、删除记录的时候增加系统的开销并且也在占用着额外的系统储存空间。那么索引的影响因素又是什么呢?从索引的建立来看,它一方面作为主要提高数据库存取速度手段,此外,它又还需要增加额外的一个储存空间。但是,众所周知,系统的空间也往往具有有限性。从这些来看,索引所选择的问题就必须在有限的一个空间里去建立一个程度有限的索引,这些都也必须在不影响用户在速度和效率上的要求。对于索引来说,影响索引的因素可以说是相当复杂的,这些复杂的因素就包括:1,概率,这是只一个字段在查询条件中所出现的概率;2,概率分布,这就是指各个字段的值域中每个值之间的概率分布;3,频率,这就是指数据库索引本身的维护的一个代价和数据库修改、插入、删除的频率。
四、两种索引的结构
相信大家都看见过汉语词典的正文,其实,这个正文就是一个聚集索引。就想我们要在词典里查询一个字,大家肯定第一下翻得就是汉语词典的前几页来找寻要查的字的首个拼写字母,在查找完以后就会出现与这个字拼音相同的字,就只需要在所有拼音相同的字中找寻那个自己所想要找的那个字,这就是个很典型的索引形式,这个汉语词典的正文的整个部分就相当于一个检索,我们就不必再去找寻或者查询其他目录的类容,这种模式就是所谓的聚集索引,它是把正文的本身按照某种特定的规则规定来进行一系列排列的目录。那什么是非聚集索引呢?还是拿查汉语词典这个例子来说,如果某个人想要查询一个词,它是认识这个词的也知道这个词的发音,就能够很快的检索出来,但是当用户不知道某个字,当然,也就不可能知道他的发音了,这个时候按照聚集索引就不太现实,这就需要按照另一种方式来查,就需要结合“部首目录”和“检字法”,但是这种检字法查到的字并不是真正意义的正文的排序方法,这中目录纯粹是目录,正文纯粹是正文的方法就叫做“非聚集索引”。这两种索引只能存在于一个表中,因为目录就只能按照其中一种方法来进行排序。
五、怎么样优化合理索引
1、深入浅出的理解索引结构,理解两种索引之间的联系和区别。
2、理解何时使用聚集索引和非聚集索引,就如同上面所列举的例子来说,再合适的时候去凭借自己的理解进行两种索引的一种合理的利用,以便于提高自己的效率。
3、必须实事求是,结合实际,尽量避免走进索引的误区,每一个理论的最终目的都是进行实践,就算在理论上分辨的很清楚什么时候用聚集索引什么时候用非聚集索引,但是在实践中却并非这样,很多人把主键认为是聚集索引,这是一个很严重的错误,这样不合理的设置和认为就会对聚集索引造成浪费,每个表中只有一个聚集索引,随便的乱用就会造成浪费;其次,并非建立索引就能提高速度。
总结:每件事物都是具有其两面性的,索引在一方面能够提高数据库的检索性能,提高工作效率,但是过分过多和不合适的使用索引不仅仅不能提高效率,相反,还会降低效率。因此,要建立适当的索引就必须勇于去尝试不同的检索方法并加以归纳总结。让数据库得到更为充分的发挥。