【學習筆記】資料庫優化之索引(聚簇索引&非聚簇索引)
索引:對資料庫表中一列或多列的值進行排序的一種結構
,通過索引可快速訪問
資料庫表中的特定資訊,即通過索引對資料列的值進行結構化排序。
其中,索引包含聚簇索引和非聚簇索引
聚簇索引的順序就是資料的物理儲存順序 非聚簇索引的索引順序與資料物理排列順序無關 所以
一個表最多隻能有一個聚簇索引
【聚簇索引】 在網上很多都有舉到的例子,新華字典,聚簇索引就類似於拼音查詢,整本字典的排序都是按照A-Z的順序排序的,如果要找一個“pai”字,那麼它只會在“P”開頭的字母範圍內,而我們查詢時,只需要從P開始查詢就可以了,如果找不到也就不可能存在其他的地方了,這樣我們就不用查詢a-o部分的資料了。 一般預設聚簇索引都是主鍵,設定了主鍵,系統預設就為你加上了聚簇索引,如果要自定義聚簇索引,需要在建立表時先指定好。
【非聚簇索引】 同理,非聚簇索引就像是字典的部首查詢,我們先從部首索引裡面找到這個字,再到指定的頁碼就能找到該字的具體資訊了,但是,這個部首的所有值,並不在字典的某一個範圍,而是整個字典的範圍內。即非聚簇索引是按照一定的順序來排列資料的,這與資料的物理儲存方式不一樣,需要通過一定的方式來記錄順序的,所以在頻繁更新資料的情況下,需要更多的額外開銷。
相關推薦
【學習筆記】資料庫優化之索引(聚簇索引&非聚簇索引)
索引:對資料庫表中一列或多列的值進行排序的一種結構,通過索引可快速訪問資料庫表中的特定資訊,即通過索引對資料列的值進行結構化排序。 其中,索引包含聚簇索引和非聚簇索引 聚簇索引的順序就是資料的物理儲存順序 非聚簇索引的索引順序與資料物理排列順序無關 所以一個表
【學習筆記】建立模式之原型模式
在某些應用程式中,某些物件(一種類別)比較複雜,且其建立過程比較複雜,並且我們需要頻繁使用到這些物件。如果我們一直使用new的方式來建立這些物件,會導致程式效率低下。 如果我們預先建立好該物件(即原型),通過該物件的自我複製(克隆)得到物件例項,從而提高程式碼效
【學習筆記】建立模式之抽象工廠模式
之前工廠模式說到不明白工廠模式與簡單工廠的區別。後來想到,簡單工廠,每當新增一個具體產品時,需要在工廠中進行判斷修改;而工廠方法中,將工廠進行抽象,對產品進行細緻的生產,即要生產某個具體產品時,需要對應的具體工廠,新增產品時,需要新增一個新的對應的工廠類以及對應
【學習筆記】平衡二叉樹(AVL樹)簡介及其查詢、插入、建立操作的實現
目錄 平衡二叉樹簡介: 各種操作實現程式碼: 詳細內容請參見《演算法筆記》P319 初始AVL樹,一知半解,目前不是很懂要如何應用,特記錄下重要內容,以供今後review。 平衡二叉樹簡介: 平衡二叉樹由兩位前
【PHP學習筆記】原生PHP操作MySQL(附錄通用增刪改查函式封裝)
PHP的全域性函式簡直好用的不要不要的(怪不得PHP是最好的語言沒有之一)
【cv筆記】卷積 + 數學形態學(膨脹腐蝕、開閉運算等)
一 卷積 1 卷積定義 卷積是兩個變數在某範圍內相乘後求和的結果。如果卷積的變數是序列x(n)和h(n),則卷積的結果 y(n)=∑i=−∞∞x(i)h(n−i)=x(n)∗h(n)y(n)=∑i=−∞∞x(i)h(n−i)=x(n)∗h(n)
【學習筆記】FreeMarker 之於Servlet與Stuts2的應用
patch warnings ftl 4.0 type shm .html enter src FreeMarker應用在Servlet(0配置web.xml形式): 準備環境: tomcat7、eclipse最新版、jdk1.8、freemarker v2.3.20.ja
【學習筆記】 唐大仕—Java程式設計 第4講 類、包和介面之4.2 類的繼承
【學習筆記】 唐大仕—Java程式設計 第4講 類、包和介面之4.2 類的繼承 super的使用 1.使用super訪問父類的域和方法 注意:正是由於繼承,使用this可以訪問父類的域和方法。但是有時為了明確指明父類的域和方法,就要用關鍵字super。this和super都是指當前同一個物件
【學習筆記】 唐大仕—Java程式設計 第4講 類、包和介面之4.4 訪問修飾符
修飾符(modifiers) 訪問修飾符(access modifiers) 如public/private等 其他修飾符 如abstract等 可以修飾類、也可以修飾類的成員(欄位、方法) 同一個類中 同一個包中 不同包中的子類
【學習筆記】 唐大仕—Java程式設計 第4講 類、包和介面之4.6 介面
【學習筆記】 唐大仕—Java程式設計 第4講 類、包和介面之4.6 介面 介面(interface) 介面,某種特徵的約定 定義介面interface 所有方法都自動是public abstract 實現介面implements 可以實現多繼承 與類的繼承關係無關 面向介面程式設計,而不
【學習筆記】 唐大仕—Java程式設計 第5講 深入理解Java語言之5.2 多型及虛方法呼叫
/** * 多型及虛方法呼叫 * @author cnRicky * @date 2018.11.7 */ 多型 多型(Polymorphism)是指一個程式中相同的名字表示不同的含義的情況 多型有兩種情形 編譯時多型: *過載(Overload)(多個同名的不同方法) *如 p.sayH
【學習筆記】 唐大仕—Java程式設計 第5講 深入理解Java語言之5.3 物件構造與初始化
物件構造與初始化 構造方法 構造方法(constructor) 物件都有構造方法 如果沒有,編譯器加一個default構造方法 抽象類(abstract)有沒有構造方法? 答案:抽象類也有構造方法。實際上,任何類都有自己的構造方法
【學習筆記】 唐大仕—Java程式設計 第5講 深入理解Java語言之5.4 物件清除與垃圾回收
/** * 物件清除與垃圾回收 * @author cnRicky * @date 2018.11.10 */ 物件清除與垃圾回收 物件清除 我們知道:new建立物件 那麼如何銷燬物件? Java中是自動清除 不需要使用delete等方法人為銷燬它
【學習筆記】 唐大仕—Java程序設計 第5講 深入理解Java語言之5.4 對象清除與垃圾回收
let 要求 什麽 jdk1 style 1.10 垃圾 ati 內存 /** * 對象清除與垃圾回收 * @author cnRicky * @date 2018.11.10 */ 對象清除與垃圾回收 對象清除 我們知道:new創建對象 那麽如何銷毀對象? Java
【學習筆記】 唐大仕—Java程式設計 第5講 深入理解Java語言之5.5 內部類與匿名類
/** * 內部類與匿名類 * @author cnRicky * @date 2018.11.10 */ 內部類與匿名類 內部類(inner class)是在其他類中的類 匿名類(anonymous class)是一種特殊的內部類,它沒有類名 內部類(Inner class)
【學習筆記】 唐大仕—Java程式設計 第5講 深入理解Java語言之5.7 其他幾個高階語法
/** * 其他幾個高階語法 學習筆記 * @author cnRicky * @date 2018.11.11 */ 其他幾個高階語法 新的語法 從JDK1.5起,增加了一些新的語法 大部分是編譯器自動翻譯的,稱為Complier sugar("糖"用起來很方便,但
【學習筆記】之多項式使人頭禿
真的自閉= = 多項式是什麼鬼哦 首先 介紹 FFT 我才不想寫那麼多柿子呢 大體說一下FFT幹了啥 我們對兩個多項式進行卷積(即多項式乘法) 也就是 暴力計算的話是n^2的 我們考慮把它變成點值[即(x,y)表示f(x)
【機器學習筆記】線性迴歸之最小二乘法
線性迴歸 線性迴歸(Linear Regreesion)就是對一些點組成的樣本進行線性擬合,得到一個最佳的擬合直線。 最小二乘法 線性迴歸的一種常用方法是最小二乘法,它通過最小化誤差的平方和尋找資料的最佳函式匹配。 代數推導 假設擬合函式為 y
【java學習筆記】JAVA自學之路 JAVA自學之路 ___轉知乎
一:J2SE 面向物件-封裝、繼承、多型 記憶體的分析 遞迴 集合類、泛型、自動打包與解包、Annotation IO 多執行緒、執行緒同步 TCP/UDP AWT、事件模型、匿名類 正則表示式 反射機制 二:資料庫(Oracle或者MySQL) SQL語句 多表連線,內外連線
【學習筆記】Hibernate連線oracle資料庫
一、 Hibernate介紹 Hibernate是基於物件/關係對映(ORM,Object/Relational Mapping)的一個解決方案。ORM方案的思想是將物件模型表示的物件對映到關係型資料庫中,或者反之。Hibernate目前是ORM思想在Java