Mysql 索引學習筆記之分類

2021-10-22 03:26:39 字數 1915 閱讀 6716

3 索引語法

4 索引設計原則

5 索引的使用

btree 索引: 最常見的索引型別,大部分索引都支援 b 樹索引。

hash 索引:只有memory引擎支援 , 使用場景簡單 。

r-tree 索引(空間索引):空間索引是myisam引擎的乙個特殊索引型別,主要用於地理空間資料型別,通常使用較少,不做特別介紹。

full-text (全文索引):全文索引也是myisam的乙個特殊索引型別,主要用於全文索引,innodb從mysql5.6版本開始支援全文索引。

注:我們平常所說的索引,如果沒有特別指明,都是指b+樹(多路搜尋樹,並不一定是二叉的)結構組織的索引。其中聚集索引、復合索引、字首索引、唯一索引預設都是使用 b+tree 索引,統稱為 索引

myisam、innodb、memory三種儲存引擎對各種索引型別的支援索引

innodb引擎

myisam引擎

memory引擎

btree索引

支援支援

支援hash 索引

不支援不支援

支援r-tree 索引

不支援支援

不支援full-text

5.6版本之後支援

支援不支援

聚集(聚簇)索引(clustered index)官方描述:the innodb term for a primary key index 。

翻譯就是 innodb對主鍵索引的稱呼 或者 主鍵索引的innodb術語

該索引中鍵值的邏輯順序決定了表中相應行的物理順序

聚集索引,葉子結點即儲存了真實的資料行。所以通過聚集索引可以直接獲取到資料庫中的資料

一般在建立表的時候就會預設將主鍵設定為聚集索引沒有主鍵會自動建立乙個的隱藏字段作為聚簇索引

非聚集索引(non-clustered index)也就是二級索引

可以建立,也可以不建立

普通索引和單列索引都是二級索引

主鍵索引 :就是通過主鍵建立的索引,

普通索引或者單列索引:即乙個索引只包含單個列,乙個表可以有多個單列索引

多列索引 (復合索引):復合索引指多個欄位上建立的索引,只有在查詢條件中使用了建立索引時的第乙個字段,索引才會被使用。使用復合索引時遵循最左字首集合

唯一索引:就是字段內部資料唯一

空間索引

空間索引是對空間資料型別的字段建立的索引,mysql中的空間資料型別有4種,分別是geometry、point、linestring、polygon

mysql使用spatial關鍵字進行擴充套件,使得能夠用於建立正規索引型別的語法建立空間索引。建立空間索引的列,必須將其宣告為not null,空間索引只能在儲存引擎為myisam的表中建立

字首索引:就是對文字的前幾個字元(具體是幾個字元在建立索引時指定)建立索引

網友 深藍 對字首索引的介紹

聚簇:將資料和索引放在一起,按照一定的順序排序,資料物理存放順序和索引順序時一直的,所以可以說找到索引就找到資料

優勢:聚簇查詢快,可以直接獲取資料

聚簇效率高,按照資料的大小排列的

適合用於排序場合

劣勢:維護成本高

如果使用非自增資料作為索引,查詢效果就會大幅度下降

字段位元組大會導致整體索引小號更大

mysql 索引學習筆記之語法

索引設計原則

mysql索引學習筆記之使用

OC學習筆記之分類

分類 category 的作用 在不修改原有的類的基礎上增加新的方法 乙個龐大的類可以分模組開發 乙個龐大的類可以有多個人來編寫,更有利於團隊合作 使用分類的目的 1.對現有的類進行擴充套件。比如可以擴充套件cocoa touch框架中的類,這些新增加的類跟框架中的類沒有區別。2.作為子類的替代手段...

Kaggle學習筆記之分類變數

kaggle intermediate machine learning 分類變數 分類變數一般只有幾個固定的非數值取值,未經預處理直接使用機器學習模型處理大多數會報錯。目錄結果分析 刪除分類變數 只適用於不包含有用資訊的列 序號編碼 ordinal encoding 用不同的序號來表示不同的值,維...

機器學習之分類模型

iris 鳶尾花資料集是乙個經典資料集,在統計學習和機器學習領域都經常被用作示例。資料集內包含 3 類共 150 條記錄,每類各 50 個資料,每條記錄都有 4 項特徵 花萼長度 花萼寬度 花瓣長度 花瓣寬度,可以通過這4個特徵 鳶尾花卉屬於 iris setosa,iris versicolour...