热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

WhatisIndex?索引是什么?_sqlserver

数据库引入了索引用户对数据库最频繁的操作是进行数据查询。一般情况下,数据库在进行查询操作时需要对整个表进行数据搜索。当表中的数据很多时,搜索数据就需要很长的时间,这就造成了服务器的

数据库引入了索引用户对数据库最频繁的操作是进行数据查询。一般情况下,数据库在进行查询操作时需要对整个表进行数据搜索。当表中的数据很多时,搜索数据就需要很长的时间,这就造成了服务器的资源浪费。为了提高检索数据的能力,数据库引入了索引机制。有关“索引”的比喻从某种程度上,可以把数据库看作一本书,把索引看作书的目录,通过目录查找书中的信息,显然较没有目录的书方便、快捷。 数据库索引实际是什么?(两部分组成)索引是一个单独的、物理的数据库结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引在表中的角色一个表的存储是由两部分组成的,一部分用来存放表的数据页面,另一部分存放索引页面。索引就存放在索引页面上,索引高效原理通常,索引页面相对于数据页面来说小得多。当进行数据检索时,系统先搜索索引页面,从中找到所需数据的指针,再直接通过指针从数据页面中读取数据。索引的分类在SQL Server 的数据库中按存储结构的不同将索引分为两类:簇索引(Clustered Index)和非簇索引(Nonclustered Index)。 簇索引对表的物理数据页中的数据按列进行排序,然后再重新存储到磁盘上,即簇索引与数据是混为一体,的它的叶节点中存储的是实际的数据。由于簇索引对表中的数据一一进行了排序,因此用簇索引查找数据很快。但由于簇索引将表的所有数据完全重新排列了,它所需要的空间也就特别大,大概相当于表中数据所占空间的120% 。表的数据行只能以一种排序方式存储在磁盘上,所以一个表只能有一个簇索引。 非簇索引具有与表的数据完全分离的结构,使用非簇索引不用将物理数据页中的数据按列排序。非簇索引的叶节点中存储了组成非簇索引的关键字的值和行定位器。行定位器的结构和存储内容取决于数据的存储方式。如果数据是以簇索引方式存储的,则行定位器中存储的是簇索引的索引键;如果数据不是以簇索引方式存储的,这种方式又称为堆存储方式(Heap Structure),则行定位器存储的是指向数据行的指针。非簇索引将行定位器按关键字的值用一定的方式排序,这个顺序与表的行在数据页中的排序是不匹配的。由于非簇索引使用索引页存储因此它比簇索引需要更多的存储空间且检索效率较低但一个表只能建一个簇索引,当用户需要建立多个索引时就需要使用非簇索引了。
relative links:

http://www.chinaitlab.com/www/news/article_show.asp?id=7606http://www.windowsitpro.com/sqlserver/Article/ArticleID/8410/8410.htmlhttp://www.vckbase.com/document/viewdoc/?id=1307http://www.20cn.net/ns/wz/soft/data/20040111171601.htmhttp://www.ddvip.net/database/mssql/index/46.htm

http://www.gaodaima.com/34590.htmlWhat is Index?索引是什么?_sqlserver

欢迎大家阅读《What is Index?索引是什么?_sqlserver》,跪求各位点评,若觉得好的话请收藏本文,by



推荐阅读
  • Python学习day3网络基础之网络协议篇
    一、互联网协议连接两台计算机之间的Internet实际上就是一系列统一的标准,这些标准称之为互联网协议,互联网的本质就是一系列网络协议。二、为什么要有互联网协议互联网协议就相当于计 ... [详细]
  • Java EE 平台集成了多种服务、API 和协议,旨在支持基于 Web 的多层应用程序开发。本文将详细介绍 Java EE 中的 13 种关键技术规范,帮助开发者更好地理解和应用这些技术。 ... [详细]
  • DVWA学习笔记系列:深入理解CSRF攻击机制
    DVWA学习笔记系列:深入理解CSRF攻击机制 ... [详细]
  • 基于Net Core 3.0与Web API的前后端分离开发:Vue.js在前端的应用
    本文介绍了如何使用Net Core 3.0和Web API进行前后端分离开发,并重点探讨了Vue.js在前端的应用。后端采用MySQL数据库和EF Core框架进行数据操作,开发环境为Windows 10和Visual Studio 2019,MySQL服务器版本为8.0.16。文章详细描述了API项目的创建过程、启动步骤以及必要的插件安装,为开发者提供了一套完整的开发指南。 ... [详细]
  • 解决网页乱码问题的实用方法
    网页乱码问题在开发中较为常见,主要由文件编码、程序字符集设置和数据库连接字符集设置不当引起。本文将详细介绍如何逐一排查并解决这些问题。 ... [详细]
  • 本文详细介绍了如何在Windows操作系统中通过Samba服务访问Red Hat Linux中的资源,包括配置Samba服务器、设置工作组名称、添加用户和共享目录等步骤。 ... [详细]
  • 本文详细介绍如何在忘记MySQL服务器密码的情况下进行密码重置,包括具体的步骤和注意事项。 ... [详细]
  • 开机自启动的几种方式
    0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
  • 本文详细介绍了 InfluxDB、collectd 和 Grafana 的安装与配置流程。首先,按照启动顺序依次安装并配置 InfluxDB、collectd 和 Grafana。InfluxDB 作为时序数据库,用于存储时间序列数据;collectd 负责数据的采集与传输;Grafana 则用于数据的可视化展示。文中提供了 collectd 的官方文档链接,便于用户参考和进一步了解其配置选项。通过本指南,读者可以轻松搭建一个高效的数据监控系统。 ... [详细]
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • 1.3.4ProfilerSQLServerProfiler是一个图形化的管理工具用于监督记录和检查SQLServer数据库的使用情况对系统管理员来说它是一个监视用户活动的间谍1. ... [详细]
  • Java连接SqlServer2008数据库(转)
    Java连接SqlServer2008数据库首先下载JDBC:下载地址:http:www.microsoft.comzh-cndownloaddetails.aspx?id21599下载 ... [详细]
  • 定制数据层关键字:数据层,访问,元数据,数据访问模型http://www.gaodaima.com/35448.html定制数据层_sqlserver ... [详细]
  • 在Sqlserver数据库历代版本当中,系统数据库有四个,master,model,msdb,tempdbmaster----记录SQLServer系统的所有系统级信息。这包括实例范围的元数 ... [详细]
  • SQLServer2008全套 数据库简介,分离,收缩,快照
    第三课视频笔记:联机丛书的使用附加和分离数据库---收缩数据库--------数据库快照 ... [详细]
author-avatar
染伊沐2010
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有