<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      代碼改變世界

      走向DBA[MSSQL篇] 面試官最喜歡的問題 ----索引+C#面試題客串

      2011-11-07 13:05  熬夜的蟲子  閱讀(3206)  評(píng)論(21)    收藏  舉報(bào)

      對大量數(shù)據(jù)進(jìn)行查詢時(shí),可以應(yīng)用到索引技術(shù)。索引是一種特殊類型的數(shù)據(jù)庫對象,它保存著數(shù)據(jù)表中一列或者多列的排序結(jié)果,有效地使用索引可以提高數(shù)據(jù)的查詢效率。大家面試初級(jí)、中級(jí)或者高級(jí)程序員的時(shí)候應(yīng)該大部分都會(huì)被問到這樣一些問題,你了解索引嗎?你知道索引的分類嗎?你知道這些索引的區(qū)別嗎?你如何去創(chuàng)建有效的索引。本章讓大家學(xué)會(huì)反問面試官 hold住全場。 --_____--


      友情客串

      最近面試的文章比較火 客串一下 我只簡單問2個(gè)問題 看看有多少人能直接回答出來 都是比較基礎(chǔ)的

      1.基類虛函數(shù)、派生類重寫 與 基類普通函數(shù)、派生類覆蓋的區(qū)別(-____-)

      2.Using閉包中try catch,異常捕獲后拋出,那么using資源能否正常釋放,概述原因(-____-)

      答案在文章結(jié)尾揭曉


       基本知識(shí) (面試官會(huì)問的)

      索引是神馬

      一般說法:索引是與表關(guān)聯(lián)的磁盤上結(jié)構(gòu),可以加快從表中檢索行的速度。索引包含由表中的一列或多列生成的鍵。這些鍵存儲(chǔ)在一個(gè)結(jié)構(gòu)中,使 SQL Server 可以快速有效地查找與鍵值關(guān)聯(lián)的行。

      hold說法:索引說白了就是Balanced Tree(簡稱B樹)結(jié)構(gòu),多層次、自維護(hù),節(jié)點(diǎn)存放表的數(shù)據(jù)標(biāo)識(shí)信息,如果表中的一條記錄在磁盤上占用500字節(jié)的話,我們對其中10字節(jié)的一個(gè)字段建立索引,那么該記錄對應(yīng)的索引塊的大小只有10字節(jié)。這樣檢索IO訪問量要少的多。

      索引的分類

      一般說法:聚集索引與非聚集索引

      hold說法:聚集索引、非聚集索引、唯一索引、包含性列索引、索引視圖、全文索引、XML索引

      說下聚集索引與非聚集索引的區(qū)別

      一般說法:聚集索引是基于記錄內(nèi)容在數(shù)據(jù)表內(nèi)的排序和存儲(chǔ)。非聚集索引不會(huì)為數(shù)據(jù)表的數(shù)據(jù)進(jìn)行物理上排序,只是將索引建立在索引頁上,在查詢數(shù)據(jù)時(shí)一樣可以從索引中找到記錄存放的位置。

      hold說法:聚集索引根據(jù)數(shù)據(jù)行的鍵值在表中排序和存儲(chǔ)這些數(shù)據(jù)行。索引定義中包含聚集索引列。每個(gè)表只能有一個(gè)聚集索引,因?yàn)閿?shù)據(jù)行本身只能按一個(gè)順序排序。只有當(dāng)表包含聚集索引時(shí),表中的數(shù)據(jù)行才按排序順序存儲(chǔ)。如果表具有聚集索引,則該表稱為聚集表。如果表沒有聚集索引,則其數(shù)據(jù)行存儲(chǔ)在一個(gè)稱為堆的無序結(jié)構(gòu)中。
      非聚集索引具有獨(dú)立于數(shù)據(jù)行的結(jié)構(gòu)。非聚集索引包含非聚集索引鍵值,并且每個(gè)鍵值項(xiàng)都有指向包含該鍵值的數(shù)據(jù)行的指針。從非聚集索引中的索引行指向數(shù)據(jù)行的指針稱為行定位器。行定位器的結(jié)構(gòu)取決于數(shù)據(jù)頁是存儲(chǔ)在堆中還是聚集表中。對于堆,行定位器是指向行的指針。對于聚集表,行定位器是聚集索引鍵。

      一張表中可以建立幾個(gè)聚集索引和非聚集索引

      一般說法:1個(gè)聚集索引和249個(gè)非聚集索引

      hold說法:冷哼一聲、笑而不語。

      索引的設(shè)計(jì)原則

      一般說法:表增刪改操作多的少用索引 查操作多的適當(dāng)建立索引

      hold說法:

      1.大量的索引會(huì)影響DML語句的性能;

      2. 對小表進(jìn)行索引可能不會(huì)產(chǎn)生優(yōu)化效果;

      3.對經(jīng)常用于查詢中的謂詞和連接列創(chuàng)建非聚集索引;

      4.覆蓋索引可以提高查詢性能;

      5.聚集索引,最好保持較短的索引鍵;

      6.考慮對定義完善的的列使用篩選索引;

      7.如果索引包含多個(gè)列 ,應(yīng)考慮列的順序;


      進(jìn)階知識(shí)(可以用來調(diào)戲面試官)

      創(chuàng)建索引的限制

      每個(gè)索引最多16個(gè)鍵列;
      索引鍵最長900字節(jié);
      大型對象數(shù)據(jù)類型不能作為索引鍵列;

      唯一索引:唯一索引確保索引鍵不包含重復(fù)的值,因此,表或視圖中的每一行在某種程度上是唯一的。聚集索引和非聚集索引都可以是唯一索引。

      設(shè)計(jì)原則:

      唯一索引能夠保證索引鍵中不包含重復(fù)的值,從而使表中的每一行從某種方式上具有唯一性。只有當(dāng)唯一性是數(shù)據(jù)本身的特征時(shí),指定唯一索引才有意義。例如,如果您希望確保 HumanResources.Employee 表的 NationalIDNumber 列中的值唯一,當(dāng)主鍵為 EmployeeID 時(shí),可以為 NationalIDNumber 列創(chuàng)建一個(gè) UNIQUE 約束。如果用戶嘗試在該列中為多個(gè)雇員輸入相同的值,將顯示錯(cuò)誤消息并且不能輸入重復(fù)的值。

      唯一索引能夠確保定義的列的數(shù)據(jù)完整性并提供了對查詢優(yōu)化器有用的附加信息。

      包含性列索引:一種非聚集索引,它擴(kuò)展后不僅包含鍵列,還包含非鍵列。

      設(shè)計(jì)原則:

      重新設(shè)計(jì)索引鍵大小較大的非聚集索引,以便只有用于搜索和查找的列為鍵列。將覆蓋查詢的所有其他列設(shè)置為包含性非鍵列。這樣,將具有覆蓋查詢所需的所有列,但索引鍵本身較小,而且效率高。

      USE AdventureWorks;
      GO
      SELECT AddressLine1, AddressLine2, City, StateProvinceID, PostalCode
      FROM Person.Address
      WHERE PostalCode BETWEEN N'98000' and N'99999';
       
      

       若要覆蓋查詢,必須在索引中定義每列。盡管可以將所有列定義為鍵列,但鍵大小為 334 字節(jié)。因?yàn)閷?shí)際上用作搜索條件的唯一列是 PostalCode 列(長度為 30 字節(jié)),所以更好的索引設(shè)計(jì)應(yīng)該將 PostalCode 定義為鍵列并包含作為非鍵列的所有其他列。

      USE AdventureWorks;
      GO
      CREATE INDEX IX_Address_PostalCode       
      ON Person.Address (PostalCode)       
      INCLUDE (AddressLine1, AddressLine2, City, StateProvinceID);
      

       索引視圖:視圖的索引將具體化(執(zhí)行)視圖,并將結(jié)果集永久存儲(chǔ)在唯一的聚集索引中,而且其存儲(chǔ)方法與帶聚集索引的表的存儲(chǔ)方法相同。創(chuàng)建聚集索引后,可以為視圖添加非聚集索引。

      設(shè)計(jì)原則:對視圖創(chuàng)建索引的另一個(gè)好處是:優(yōu)化器可以在未直接在 FROM 子句中指定某一視圖的查詢中使用該視圖的索引。這樣一來,可從索引視圖檢索數(shù)據(jù)而無需重新編碼,由此帶來的高效率也使現(xiàn)有查詢獲益。

      索引視圖可以提高下列查詢類型的性能:1.處理大量行的聯(lián)接和聚合。2.許多查詢經(jīng)常執(zhí)行的聯(lián)接和聚合操作。 3.決策支持工作負(fù)荷。  

      全文索引:這個(gè)蟲子以后會(huì)單獨(dú)開全文檢索章節(jié)來講

      XML:xml 數(shù)據(jù)類型列中 XML 二進(jìn)制大型對象 (BLOB) 的已拆分持久表示形式。XML實(shí)例的最大數(shù)據(jù)量可以達(dá)到2GB,如果在沒有索引的xml字段里查詢會(huì)很
      耗時(shí),在XML字段上創(chuàng)建的索引就是xml索引。
      設(shè)計(jì)原則:主 XML 索引,輔助 XML 索引。xml 類型列的第一個(gè)索引必須是主 XML 索引。使用主 XML 索引時(shí),支持三種類型的輔助索引。這些類型包括 PATH、VALUE 和 PROPERTY。根據(jù)查詢類型的不同,這些輔助索引可能有助于改善查詢性能。


      提高篇(和面試無關(guān)了)

      索引優(yōu)化

      無論何時(shí)對基礎(chǔ)數(shù)據(jù)執(zhí)行插入,更新或刪除操作,數(shù)據(jù)庫引擎都會(huì)自動(dòng)維護(hù)索引。這些修改可導(dǎo)致索引中產(chǎn)生碎片;碎片非常多的索引可能會(huì)降低查詢性能,導(dǎo)致應(yīng)用程序響應(yīng)緩慢。

      1.定期整理索引;
      2.設(shè)置索引并行度;
      3.分析TRACE數(shù)據(jù),調(diào)整索引;

      聚集表、堆和索引

      聚集表是有聚集索引的表。數(shù)據(jù)行基于聚集索引鍵按順序存儲(chǔ)。聚集索引按 B 樹索引結(jié)構(gòu)實(shí)現(xiàn),B 樹索引結(jié)構(gòu)支持基于聚集索引鍵值對行進(jìn)行快速檢索。索引中每個(gè)級(jí)別的頁(包括葉級(jí)別的數(shù)據(jù)頁)鏈接在一個(gè)雙向鏈接的列表中。但是,通過使用鍵值來執(zhí)行從一個(gè)級(jí)別到另一級(jí)別的導(dǎo)航。

      堆是沒有聚集索引的表。數(shù)據(jù)行不按任何特殊的順序存儲(chǔ),數(shù)據(jù)頁也沒有任何特殊的順序。數(shù)據(jù)頁不在鏈接列表內(nèi)鏈接。

      菜鳥如何有效的創(chuàng)建索引

      前提是你有線上服務(wù)器的權(quán)限 -___-

      首先打開SQL Server Profiler新建一個(gè)跟蹤

      根據(jù)自己選擇針對性選擇屬性

      運(yùn)行一段時(shí)間保存跟蹤文本

      打開優(yōu)化引擎

      根據(jù)自己需求設(shè)置

      分析并根據(jù)系統(tǒng)的建議進(jìn)行優(yōu)化

      因?yàn)橄x子跑的本地環(huán)境 下面的步驟就不截圖了 你們都懂的


       和索引關(guān)聯(lián)的存儲(chǔ)過程

      sp_helpindex報(bào)告有關(guān)表或視圖上索引的信息。

      exec sp_helpindex 'PPS_App_Infomation'
      

       

      根據(jù)sys.indexes視圖來查看索引信息

      select * from sys.indexes
      

      至于索引增刪查改的語法網(wǎng)上一搜一片的 就不造輪子了 關(guān)于索引還有很多高級(jí)應(yīng)用例如 虛擬列索引、選擇索引等等 不過大家未必感興趣 實(shí)用才是王道 如果有人對這些感興趣可以留言討論


       客串答案

      是不是網(wǎng)上也沒找到想要的答案 O(∩_∩)O

      1.虛函數(shù)重寫是運(yùn)行時(shí)的多態(tài)  派生類的覆蓋是隱藏基類的方法

      2.using的dispose原理和try catch的finally是一樣的

      很多程序員會(huì)抱怨別人和自己同樣的工齡 為什么別人的薪水那么高 也有很多程序員覺得自己牛氣沖天 只是沒遇到伯樂 其實(shí)當(dāng)自己不淡定的時(shí)候 不如回頭看看 重頭學(xué)一遍 或許自己的觀點(diǎn)會(huì)改變很多 


        希望本篇對大家?guī)椭?大家的支持才是蟲子的動(dòng)力 -____-



       

      主站蜘蛛池模板: www插插插无码视频网站| 亚洲一区二区三区久久受| 少妇扒开双腿自慰出白浆| 你懂的视频在线一区二区| 婷婷久久香蕉五月综合加勒比| 四虎国产精品永久在线看| 国产精品一码二码三码| 亚洲精品无码日韩国产不卡av| 国产乱码精品一区二区三| 欧洲精品久久久AV无码电影| 视频一区视频二区在线视频| 日本道高清一区二区三区| 亚洲国产欧美在线人成| 视频一区二区 国产视频| 青青草国产自产一区二区| 亚洲中文一区二区av| 日本亚洲色大成网站www久久| 国产成人综合95精品视频| 久久99精品网久久| 一区二区三区放荡人妻| jizz国产免费观看| 女人18片毛片60分钟| 国产精品小一区二区三区| 无码人妻精品一区二区三区蜜桃| 国产特级毛片AAAAAA视频| 精品亚洲国产成人性色av| 黑人玩弄人妻中文在线| 久久精品亚洲国产综合色| 深夜视频国产在线观看| 福利在线视频一区二区| 亚洲の无码国产の无码步美| 成人无码h真人在线网站| 樱桃视频影院在线播放| 国产精品爽爽v在线观看无码| 精品无人区一码二码三码| 精品一区二区三区不卡| 国产欲女高潮正在播放| 亚洲天堂一区二区三区四区| 国内精品伊人久久久久av| 久久亚洲国产品一区二区| 欧美和黑人xxxx猛交视频|