1、索引的概念和分類

来源:https://www.cnblogs.com/schangxiang/archive/2019/07/30/11272799.html
-Advertisement-
Play Games

1、什麼是索引 答: 索引是對資料庫表中的一列或者多列的數據進行排序的一種結構,使用索引可快速訪問數據表中的特定信息。 比如中國移動裡邊的表數據可能達到上億,這樣查詢數據用索引就派上了用場,因為使用索引可以快速檢索數據。 2、索引的分類 答: <1>從物理結構上 分為兩類:聚集索引和非聚集索引。 聚 ...


1、什麼是索引

答: 索引是對資料庫表中的一列或者多列的數據進行排序的一種結構,使用索引可快速訪問數據表中的特定信息。

比如中國移動裡邊的表數據可能達到上億,這樣查詢數據用索引就派上了用場,因為使用索引可以快速檢索數據。          

 

2、索引的分類

答:

   <1>從物理結構上 分為兩類:聚集索引和非聚集索引。

  聚集索引是指 索引的鍵值的邏輯順序決定了表中相應行的物理順序。

註意:一個表中只能有一個聚集索引。

比如 一個學生表有兩列:姓名和班級。那他的索引順序對應著表的順序。

他的使用範圍是:

  1)範圍查詢:使用運算符(如between、>、<=等),返回一系列的值

      2)查詢連續的值:如一月份的數據、二月份的數據

      3)返回大型結果集:註意,通過索引檢索的數據一般控制在表中總量的20%以下, 因為當索引數據量過大時,那麼系統將不會使用該索引。

      4)在order by或group by子句中指定的列

 

非聚集索引:非聚集索引通過索引記錄地址訪問表中的數據。索引的邏輯順序和表中行的物理存儲順序不同。

 

 

 

註意:一個表中可以有多個非聚集索引。

他的適用情況是:

(1)使用join或者group by的子句

(2)不返回大型結果集的查詢

(3)經常包含在查詢的搜索條件(例如返回完全匹配的where子句)中的列。

 

   <2>從應用上分 ,分為  主鍵索引、唯一索引、全文索引和組合索引。

        1)主鍵索引:當為一個表創建主鍵的時候,Sql Server會自動為主鍵列創建一個索引,並且該索引是聚集索引。

        2)唯一索引:唯一索引可以是聚集索引,也可以是非聚集索引。他要求 在唯一索引所限制的列中,不允許有重覆的鍵值。並且具有唯一約束的列,Sql Server會自動的給他創建一個唯一索引。

        3)組合索引:表示這個索引的索引列可以有多個。比如學生成績表中,我們可以把學生ID和考試科目ID合在一起建立索引,他的使用情況是 多個列經常在一起作為查詢條件。

4)全文索引:他是一種特性類型的基於標記的功能性索引。一般情況下,為Sql Server中的文本數據創建索引。

全文索引主要用於在大量文本文字中搜索字元串,我們知道檢索字元串用T-SQL的like關鍵字,但是在大量文本中使用like關鍵字效率遠遠低於全文索引。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1、查看本地分支:git branch 2、查看遠程分支:git branch -r 或 git branch --remote 3、查看本地和遠程的所有分支:git branch -a ...
  • Linux軟體安裝——服務管理的命令 摘要:本文主要學習了Linux系統中服務管理的命令。 service命令 service命令用於對系統服務進行管理,比如啟動(start)、停止(stop)、重啟(restart)、查看狀態(status)等。 service命令本身是一個shell腳本,它在/ ...
  • 系統控制根據 Hi35xx 晶元特性,完成硬體各個部件的複位、基本初始化工作,同時負責完成 MPP(Media Process Platform 媒體處理平臺)系統各個業務模塊的初始化、去初始化以及管理 MPP 系統各個業務模塊的工作狀態、提供當前 MPP 系統的版本信息、提供大塊物理記憶體管理等功能 ...
  • 0x00 大落 一件蠻坑爹的事情,複製了找了好久的內容合集,在回別人的信息的時候又進行了複製其他內容的操作,結果吾覆蓋了的上一次複製的內容…… 於是開始找找 macOS 有沒有粘貼板記錄的東西,然後在 訪達 中找到了 剪貼板 : 但是這個剪貼板只有當前複製/剪切的內容……再次淚奔 果然已經沒辦法找到 ...
  • 1. 概述 海思提供的媒體處理軟體平臺(Media Process Platform,簡稱 MPP),可支持應用軟體快速 開發。該平臺對應用軟體屏蔽了晶元相關的複雜的底層處理,並對應用軟體直接提供 MPI(MPP Program Interface)介面完成相應功能。該平臺支持應用軟體快速開發以下 ...
  • 簡介: 主要原因是,我不會 vim ,在 linux 上修改 charts 的很蹩腳,所以就想著能不能再 windows 上執行 helm 命令,將 charts install linux 上搭建的 kubernetes 集群上,答案當然是可以的。本文將告訴大家怎麼在 windows 上執行 he ...
  • 保留個原文鏈接,避免被爬蟲爬了過去,以便後續更正補充:https://www.cnblogs.com/wy123/p/11273023.html MySQL參數繁多,是一個需要根據具體業務、軟硬體環境、負載壓力、性能需求、數據異常的容忍程度等等信息綜合考量的結果,不是一成不變的(當然,某些參數保持默 ...
  • 索引 [TOC] 初始索引 為什麼要有索引 什麼是索引 對索引存在的誤解 索引的原理 | 類別 | 樹名稱 | | | | | 二叉查找樹 (Binary Search Tree) | 二叉查找樹,笛卡爾樹,T 樹 | | 自平衡二叉查找樹 (Self balancing Binary Search ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...