Mysql索引的資料型別 原理??

2021-10-09 02:57:06 字數 1157 閱讀 9117

索引的優點:

1.通過建立唯一索引,可以保證資料庫每一行資料的唯一性

2.可以大大提高查詢速度

3.可以加速表與表的連線

4.可以顯著的減少查詢中分組和排序的時間。

索引的缺點:

1.建立索引和維護索引需要時間,而且資料量越大時間越長

2.建立索引需要佔據磁碟的空間,如果有大量的索引,可能比資料檔案更快達到最大檔案尺寸

3.當對表中的資料進行增加,修改,刪除的時候,索引也要同時進行維護,降低了資料的維護速

mysql索引的資料型別?

mysql資料庫索引種類包括普通索引,唯一索引,主鍵索引與組合索引,這裡對這些索引的做一些簡單描述

mysql目前主要有以下幾種索引型別:fulltext,hash,btree,rtree。、

1. fulltext:即為全文索引,目前只有myisam引擎支援。其可以在create table ,alter table ,create index 使用,不過目前只有 char、varchar ,text 列上可以建立全文索引。

全文索引並不是和myisam一起誕生的,它的出現是為了解決where name like 「%word%"這類針對文字的模糊查詢效率較低的問題。

2. hash

由於hash的唯一(幾乎100%的唯一)及類似鍵值對的形式,很適合作為索引。

hash (雜湊表)是一種 :雜湊技術是指在記錄的儲存位置和它的關鍵字之間建立乙個確定的對應關係f,使每乙個關鍵字都對應乙個儲存位置

hash索引可以一次定位,不需要像樹形索引那樣逐層查詢,因此具有極高的效率。但是,這種高效是有條件的,即只在「=」和「in」條件下高效,對於範圍查詢、排序及組合索引仍然效率不高。

3. btree

btree索引就是一種將索引值按一定的演算法,存入乙個樹形的資料結構中(二叉樹),每次查詢都是從樹的入口root開始,依次遍歷node,獲取leaf。這是mysql裡預設和最常用的索引型別。

4. rtree

rtree在mysql很少使用,僅支援geometry(幾何)資料型別,支援該型別的儲存引擎只有myisam、innodb。

geometry是乙個幾何資料型別的儲存格式,最常見的是用與座標點,座標線,座標面形等資料的儲存,例如你要儲存乙個導航路線的座標點,就可以以該型別進行儲存

相對於btree,rtree的優勢在於範圍查詢

MySQL 索引與資料型別

在資料庫的查詢操作中,為了提高資料查詢的效率引入了索引的概念。其中,實現索引有幾種不同的方式 雜湊表 有序陣列 搜尋樹等。雜湊表 把資料庫中的值放在陣列中,採用雜湊演算法把key對映到乙個確定的位置,然後把value放在陣列的這個位置。當發生衝突時,採用鍊錶法解決。缺點 只能由於等值查詢無法實現範圍...

mysql資料型別用法 mysql資料型別和用法

歡迎進入linux社群論壇,與200萬技術人員互動交流 進入 mysql支援多種列型別 數值型別 日期 時間型別和字串 字元 型別。本章首先對這些列型別進行了概述,然後更加詳細地描述了各種列的型別,以及列型別儲存需求的總結。概述很簡單。關於具體列型別 歡迎進入linux社群論壇,與200萬技術人員互...

mysql 資料型別 真假 MySQL 資料型別

mysql基礎 資料型別 整型型別 根據所儲存的整數數值取值範圍不同,可分為以下五類 1 tinyint佔1個位元組 2 smallint佔2個位元組 3 mediumint 佔3個位元組 4 int佔4個位元組 5 bigint佔8個位元組 根據每種型別所佔的位元組數可確定其無符號整數和有符號整數...