Innodb存儲引擎——非聚集索引

  如果給表定義了主鍵,那么表在磁盤上的存儲結構就由整齊排列的結構轉變成了樹狀結構,也就是「平衡樹」結構,換句話說,就是整個表就變成了一個索引,這就是所謂的「聚集索引」。 這就是為什么一個表只能有一個主鍵, 一個表只能有一個「聚集索引」,因為主鍵的作用就是把「表」的數據格式轉換成「索引(平衡樹)」的格式放置。

  非聚集索引和聚集索引一樣, 同樣是采用平衡樹作為索引的數據結構。假如給user表的name字段加上索引 , 那么索引就是由name字段中的值構成,在數據改變時, DBMS需要一直維護索引結構的正確性。如果給表中多個字段加上索引 , 那么就會出現多個獨立的索引結構,每個索引(非聚集索引)互相之間不存在關聯。?

  非聚集索引和聚集索引的區別在于, 通過聚集索引可以查到需要查找的數據, 而通過非聚集索引可以查到記錄對應的主鍵值 , 再使用主鍵的值通過聚集索引查找到需要的數據。不管以任何方式查詢表, 最終都會利用主鍵通過聚集索引來定位到數據, 聚集索引(主鍵)是通往真實數據所在的唯一路徑。

  但是也可以根據查詢的結果建立復合索引或者多字段索引查詢,為一個索引指定多個字段, 那么這個多個字段的內容都會被同步至索引之中,能加快查詢的速度。另外,復合索引的屬性順序也會影響到查詢的速度,具體較為優化的順序要根據具體數據分布。

  參考鏈接:

  https://www.cnblogs.com/lykbk/p/wererereredfdf.html

  https://zhuanlan.zhihu.com/p/23624390?utm_source=wechat_session&utm_medium=social

轉載于:https://www.cnblogs.com/LinsenLi/p/9596488.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/250748.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/250748.shtml
英文地址,請注明出處:http://en.pswp.cn/news/250748.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

cd 切換目錄

1. 功能說明 cd是“change directory”中每個氮氣的首字母縮寫功能是重當前工作目錄切換到指定的工作目錄;cd是內建命令。 2. 語法格式 cd [option] [dir] cd 選項 目錄 3.使用范例 范例1: 切換到/home目錄 [rootlocalhost sysconfig]# pwd /etc/s…

OPENCV-4 學習筆記

OPENCV-4 學習筆記 ROI—設定感興趣的區域(region of interest) 定義: Mat imageROI; //方法一:通過Rect指定矩形區域 imageROIimage(Rect(500,250,logo.cols,logo.rows)) //方法二 指定感興趣行或列的范圍(Ran…

vue --- mintUI中Swipe(輪播圖)的使用

引入 // main.js // 導入包 import { Swipe, SwipeItem } from mint-ui// 注冊 Vue.component(Swipe.name, Swipe); Vue.component(SwipeItem.name, SwipeItem);放在需要顯示的位置 // HomeContainer.vue(首頁 -> 組件) <template><div><!-- 輪播圖區域 --…

前端換行顯示,后端返回br

轉載于:https://www.cnblogs.com/lml-lml/p/9597547.html

MySql隨筆part3 表操作

一:什么是表 表(table): 表似一種結構化的文件,可用來存儲某種特定類型的數據.表中的一條記錄有對應的標題,標題稱之為表的字段 二:創建表 1 create table table_name( 2 字段名1 類型[(寬度) 約束條件], 3 字段名2 類型[(寬度) 約束條件], 4 字段名3 類型[(寬度) 約束條件] 5 …

OPENCV-5 學習筆記

OPENCV-5 學習筆記 線性濾波 方框濾波——boxblur函數均值濾波&#xff08;鄰域平均濾波&#xff09;——blur函數高斯濾波——GaussianBlur函數中值濾波——medianBlur函數雙邊濾波——bilateralFilter函數 關于濾波和模糊—–濾波可分低通濾波和高通濾波兩種。而高斯濾波是…

node --- 監聽文件變化(靜態、動態、子進程)

靜態版本:監聽的文件名寫死了 // watcher.js use strict const fs require(fs); fs.watch(target.txt, () > console.log(File changed!)); console.log(Now watching target.txt for changes...);命令行啟動 node watcher.js動態版本:在命令行輸入需要監聽的文件名. pr…

redis學習總結

一、redis工作流程 1、把redis安裝到Linux上 2、配置redis.conf文件 使之可以后臺運行 3、根據項目需求添加相應的jar包 4、調用相應的api實現項目需求 二、redis相關知識 1、redis是緩存數據庫&#xff0c;為了減少對關系型數據庫的訪問消耗&#xff0c;可以把常用的數據添加…

OPENCV-6 學習筆記

OPENCV-6 學習筆記 邊緣檢測 步驟&#xff1a; 濾波增強檢測 canny算子—Canny 的目標是找到一個最優的邊緣檢測算法 評價標準&#xff1a; 1.低錯誤率: 標識出盡可能多的實際邊緣&#xff0c;同時盡可能的減少噪聲產生的誤報。 2.高定位性: 標識出的邊緣要與圖像中的實…

es6 --- Promise封裝讀取文件操作

Promise: es6中為了解決回調地獄問題而產生的 Promise的參數 Promise的參數是一個函數.每個Promise在實例化時,都會立即執行參數里的函數 const p new Promise(()>{console.log(1); })// 解釋了上面的第2條Promise參數的參數 Promise的參數(函數),默認有2個參數(resol…

匿名函數

匿名函數&#xff1a;lambda 函數 語法&#xff1a; lambda 參數1, 參數2 : 表達式 表達式即為返回值 例&#xff1a; result &#xff08;lambda x, y: xy)(1.2) print(result) 例2&#xff1a; newFunc lambda x,y : xy print(newFunc(1,2) 例3&#xff1a; result sorted…

hdu-6165(tarjan+topusort)

題意&#xff1a;一個有向圖&#xff0c;無自環&#xff0c;無重邊&#xff0c;讓你判斷這個圖內的任意兩點是否有路&#xff1b; 解題思路&#xff1a;首先&#xff0c;判斷兩個點是否可達一般用出入度來判斷&#xff0c;如果在拓撲排序中同時有兩個及以上入度同時為零的點&am…

OPENCV-7 學習筆記

OPENCV-7 學習筆記 轉換圖像尺寸 resize函數。這是最直接的方式&#xff0c;yrUp( )、pyrDown( )函數。即圖像金字塔相關的兩個函數&#xff0c;對圖像進行向上采樣&#xff0c;向下采樣的操作。 圖像金字塔 類似于金字塔的形狀&#xff0c;將原始圖像以金字塔形狀的分辨率…

雜項:E-Learning

ylbtech-雜項&#xff1a;E-Learning1.返回頂部 1、E-Learning&#xff1a;英文全稱為&#xff08;Electronic Learning&#xff09;&#xff0c;中文譯作“數字&#xff08;化&#xff09;學習”、“電子&#xff08;化&#xff09;學習”、“網絡&#xff08;化&#xff09;學…

css --- flex布局的應用(between)

between 想把發布時間放在左邊,點擊放在右邊 頁面結構如下: 可以看到發布時間和點擊是在類 .mui-ellipsis 下.使用css3的 flex 布局中的: space-between .mui-ellipsis{display: flex;justify-content: space-between; }

WeUI

介紹&#xff1a; WeUI是微信設計團隊為微信網站開發量身定做的微信類UI界面&#xff0c;旨在改善和規范微信用戶體驗。包括組分如button&#xff0c;cell&#xff0c;dialog&#xff0c;progress&#xff0c;toast&#xff0c;article&#xff0c;actionsheet&#xff0c;icon…

php中的json

php中的json函數主要有三個&#xff1a; 函數描述json_encode()對變量進行 JSON 編碼json_decode對 JSON 格式的字符串進行解碼&#xff0c;轉換為 PHP 變量json_last_error返回最后發生的錯誤 認識前提&#xff1a; {}&#xff0c;花括號代表包裝的是一個對象數據&#xff0…

vue --- 全局配置過濾函數,使用moment函數來格式化時間

效果1 YYYY-MM-DD 效果2 YYYY-MM-DD HH:mm:ss 配置注意事項 由于時間格式化,在大多數頁面中都會用到,因此建議配置在全局中 使用moment函數 -> http://momentjs.cn/ npm 安裝 # 命令行 cnpm i moment -S在全局中配置 // main.js import moment from momentVue.f…

2018ICPC南京賽區網絡賽J Sum(素數篩+找規律)

素數篩鏈接&#xff1a;https://blog.csdn.net/dl962454/article/details/76595623 【題意】 f(i)&#xff1a;能拆成兩個數的乘積&#xff0c;并且這兩個數要求沒有平方因子&#xff0c;并且兩個數的位置互換算兩種方案。 最后求f(1)f(2)f(3)...f(n&#xff09;。 【解題思路】…

[UE4]C++中extern關鍵字淺談

變量聲明和變量是有區別的 extern int i; //只是聲明i而非定義i int j; //聲明而且還定義了j 任何一個顯式初始化的聲明都將成為定義&#xff0c;而不管有沒有extern&#xff0c;extern語句一旦變量賦予了初始值就變成了定義。 extern double pi3.1415926; //定義 stat…