第3章 数据库对象管理

更新时间:2023-05-25 11:34:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第3章 数据库象对管理.313 .2 3. 3.4 3引索 图 视存过程储 发器

3.1索引的概念 .311 索.引概的 念 3. .1 创2索建的优点与引点 缺.313 .考虑建引的列和索考不建虑索的列引

23

1.1. 索引概念的 引索为是了速对表加中数行的据检索创而的建一种分 散的储结构存。引是针索一个表而对建的,立是它由据数页面以 外的引索面组页成。 数的据中库索的是引一列个,表这个在列表中含了包个 某中表一列或者干列若的值集,合及以些这的值录记数在据 表的存储中置位的理物址地

。3

1.2.索引 的、缺点 优.1建创索的优点 可引大以加大快数检据速索度。 过创建通唯一引索可以保证,据数记的唯录一性。 在 用使ROED RYB和ROGUP BY句进行子索数检时, 可据显以减少查著中分询和组序排时间。 的 用使引索可以在索数据检的过程使用中优隐藏化器提,高系统性能 。 可以加速表与表之间的连接, 这一点在实现据数参的照完整性方 有特别面的意义。4

2. 创索建的引缺 点 ① 建索引创要花时间费占用和储存间空 创建索引。需要占存用空间,储如创聚簇索建需引要占用存储的 间空是数库表占据用间的空.12。在倍立建引时索,数据被复制以 建立便聚索引,索簇建立后引再将,的未加旧引的索 数表删除据。建创索也引要花费时间需。 ② 立索建加快了数引据检速度,却减慢了索据修数改速。 因度每当为执行一数次据的插入删除、更和操新,就要维护索作 。修改的数引据多,涉越及维索护引的开也就销越大。如 将果一数些行据入到一插个经已满放行的据页数面,上还必须 将个数据这页中面后一最数据移到下一个页些中去面,这样, 还须改变索引必中页的容,内以持数据保顺的序正确。性这 就对是引索的护。由于修维数改据要时动态护维索其引所 ,,对建立以了索的引表行修改执作要比未操立建引的表执 索修行操改作花的时间所长。要因此,建索创虽然可以引加快 据数询查速的,但度却会是减数慢修改据的速。度5

.3.13虑考建引索的和不考虑建列索引的列 1 .虑考索引的列建 如果在个一上列创建索,引该就列称索为列引。索引中列 的值称关为字键。考虑值索引的建列有如下这:些 主① 通键常检索,、存取表是过通键来主行的进。此因,该应虑考在主键上建 索引。 立 ②连接中繁频使的用 用于连列的列若按接顺序放,存系统可以快很地行连执。接 如外键除用于,实参现完照整性,外经常用还于进表的行 连。接 ③ 在 某一围范频繁内搜索的和按列序排顺序繁频索检列的。6

2

. 不考虑建索引的列建 立索

引需产生一定要的储开销存,进行插入和在新数更 据的作时,操维护索也要花费引时和空间,间因,此没有要必对表 的所有中都列建索立引创。建引索否以及在与哪些上列 建立引,要看建索立引和维索索护的代引与价建立索引因 节所的时间相比省个更哪合。一算来般说,下如一些不列虑 建考索引:立 ① 很 或少从不来查在中询用引的,列因系统很为少或 从不来根这个列据值的查去找据数行。 ② 只有两或个很少几个值的列(性别,如有只个两值 “男或”“女”,以这样)列的创建索并引不得能到 建索引立的好处 。③ 以 ib、ttetx、magi数e据型类定的义列 ④ 数据。数很少行的表一小般也没有要必创建索。引

73.

2聚簇索 引与聚非索簇引3..12 引索的类 分根 索据引的顺与数序据表物理的序是否顺同,相以可把索引分成 两类种型聚簇:索与引非簇索引聚和表。视及一图样 ,引也是数据索库对。象 聚 簇引(C索luseterdI ndex)数据 的表理物序和索顺表引顺序相同的它根据,中表的一列或 多值的列合排组列录记。 聚簇非引索No(ncultesre Iddexn)数据表的物理顺 序索引表的顺和不序相同,引表索仅包仅含指 数向表据的针指,些这指针本身有序是,的用于表在快中 定速位据。数8

3. 索引3创建的管理与 SL SQrver 20e5中,0创建引有两种方法: 索 用使T-QLS句语建索引 创 使S用L QServr eaMngeaemntS tuio创建d索引 在 一表个的个或多个列一创建索上引时应考,以虑下几点: ①在一当表个上建PR创IMARYK EY束或U约NIQE约束U 时,QSLSe vrer自动建创一性唯引索。能不在已经建 P创RMAIR YKEY束约或UIQUNE束的约列创上建索引。 定P义RMARY KEYI 束或UN约QIEU束与约创标准索建引相比应是 首的选方法 。 ② 必 须表的是有拥才者能创索引建。 ③ 在一个列创建索上之前引确,该列定否已经存是在 索。 引④ 也可以在视 上创建图索,引创建视图但时须必参数 S带HEMCABNIDNG。I在视上图创建索引的建方创参法见 9SQLS reerv 002随5帮机。助

3

.3 索的创建与引理 管3.3.1使用 TS-L语句创Q索建 引 33.. 使用2-TQS语句L管索理引 3 .3.3使 S用Q SeLver Mrangament Stuedio 管理索

引1

0

.331.使 用TS-QL句语建索创1. 引创索建的引SLQ语语法 创句索建引使的是用CERAT EIDEX语N句。RCAET INDEE 语X的句法语形式如: CREA下ET[ UNQIU]E[C ULTSERE | NDNOLCSTUREDE] IDNEXind xen_ae ONm abtelname_col(mu_nanme [ SA | CEDSC] [,..n .] ) W[IH [PTADI_DNXE ][[] F,LILACFOR = fiTlfaclor] t[[] D,OR_PXISETNI]G] 1

1

在上以语法形中:式 UN IQEU指定:创的索建是唯一索引。引果如不使这用 个关字,键创建的引索不就是唯一索。 引 LUSCTREDE|NOCNULSTEER:指定被D创建引索类 的。型使用CLSUTREE创D的是聚建索引;使用簇NO NCULTERSE创建的D非是聚簇引。索两这个关字 中只能键其中的一选。 i个den_naxm:e新创为建的索引指的定名。字 tblaenam_:e建索创的基表引名的。 字 colunm_nam:e索引包含的中的名列字 。 ASC |EDCS确:某个具定体索的列是引升还序降序是排 。序默设置认为SCA序升。 AD_PIDNXEFI和LFACLOR:T充填因,子指它 定SQ LeSvrre创建 引的索程中过,各索引的填页程满度。 D ORP_EISXINGT:除先删存在的前与、创建引索名 的同聚索引簇或非聚索簇。引2

2. 1建唯创索引一 引按索结构照可分聚簇索引和非聚为索簇引两不种同类型。的按 照实的功现分,有一类能引被索作“唯称一引索”它。 既可以用聚采簇引索的结构又可以采用非聚,簇索的引结。构 唯 索引一特征: 的 ①允许两行不具有同的相索值。引 ② 可于实用实体施整性完。 在创③建主约键束唯一和束约时动创自唯建索引一 。 在已有 据数表上创建唯的一索引时,如果在该列据数在重 复存值,那系统么返将回错信误息。在实的编程应际用会中 常使用经到一索引唯因为。在个一中,表能可有很多会列的 列值要需证其唯保性,如一有:份身号、工号证、号学,可等 这在列些上建唯创一引索。

13

例3-1】JW在G数L据库的OOB表上K创建一名个 为obok_i_idnde的x一性聚簇索唯引,引索关键为字bokoid, _升序,填因子充50%U ES wjlg G ORECTEA NUQUE CLUSTEIRDE NDEXI bok_io_didnxeON b oko (bo ok_d ASiC )ITH FWILLFCAOT R =05

41

3.

创复合建索引 有些索引列只有一列,而有些 引索由列两或更列多列成。 我组把们由两或更列多组成列的索引称“复作索合”引。 ⑴ 合复引索特征 的① 把两 列更多或指列为定引索。 列 ② 将复列合为一作个整进体搜索。行 ③ 创 复建索引合中列序不一的定表定义与序相列。同 【例2】-在JWL数据库Gs的udentt_curseo表上建一创个名 stud为et_noursceind_x的e非聚簇合索复引,引索键字为关 tusdet_indc,urse_id,o序升填充,因子50%U S jEwl Gg ORCAETE ONNCULTEREDS INEX Dstduet_ncuorse_ndei xO Nsudtne_ctousr (estuentd_id AS ,C cuors_ideASC) W IT FHILFLATORC = 50 15

⑵ 创建 合复引索注意应的几点 ①查的询HERE子句W须引用必合索引中的复第列, 以便让一询查优程化使序该用复索合引。 ②被查表询需要中繁频问访的应考虑建复列合引以提索高 询性能。查 ③ 在一 复个合引中索引列索最可组合1多列。 ④6列 的序顺重很要,应首定义先最具一性的列唯 ,(colmnu1,colmn2)u的索引上不于(同coumn2l ,clumno)上的索引1。 ⑤使用

复合索引能加查增性能,并减少表询上创建索 引数的量。16

33.2.使用T- QSL句管理语索引1 .使用TSQ-语句L查看索引 在创索引之前或建创在索建引后,可以用之ps_elpinhdxe s或_pehpl系统储过程存查表看索的引 【例3-3】。用统系存过程储sphe_lipned查看xJGLW据库数表中 oob的索k引信息。 SU jwEglG EOEC sX_phlpeidne xboko17

. 使用2T-QSL语句对引更名 索 在 创建引索之,后以可用ps_ enarm系统e存储过重程新命 表的名索引。 例【34- 】用系存统储过sp程_ enrmea表book的索将引 bok_id_iodnex重新命 为b名ook_idin_de1。xU E jSgwlGO s _rpename ‘ ook bbo.ok_d_iidne‘ x,‘ bok_oi_dndie1' x 注:要重意名命索引要以的“表名.索名引”的式给形出 。新索引但不名给出表能名。1

8

.3 用使T-SL语Q删句除索 引在建索创之后引如,果索引该不需再要,可用以DOP语句R将其删除 。 ROP语句的D法如语:下D RP INOEX tDblea.niex[,d...n] 例3-【5】 用DORP语将表b句oko的引索boo“_kdii_dnxe1” 除删 U。E Swgl GO jROD INPDXEb oko.booki__iddnxe1 注: 意 ① 被删 除索的要以引“表.索名引”的形名式给。出 ②删索除引时注意要如,果索是在引CEATER ABLT语 E句创建中的,能用ALTER T只BLAE语删除索句引。果 如引索是C用RATEEIN DX创建E的可用D,RO INPEXD删1 9 。除

.33.3 用SQ使 LerverS ManaemgentS tuiod理管索引 使S用QL Srvere anMgaemet Stundoi可以建索创引。

2

0示显索引息 信在 SQL Sreerv anaMemgentSt uid的“对o资源象管理” 面板器中使用,创建索与同引样方的即法看到可该引索对的应信息 。 使 用统系存储程s过ph_eplndeix看查指定的索引表息信。 【6.5】例使用 统系存储程过p_selhindep查xb看ook数据库 book中表的索1信息引 在。QSL eSvrerM anagmeet ntudSio查窗询中口行运下命 如令 : SEU obo k GO EEC Xp_selhipden bxoo1 k12 GO

本文来源:https://www.bwwdw.com/article/z3t4.html

Top