国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

關于 MyISAM 引擎,你可能不知道的三件事

運維 數據庫運維
存在即合理,雖然在互聯網公司中 InnoDB 引擎使用較多,但是 MyISAM 引擎的特性自有它自己的使用場景,今天松哥就來和大家捋一捋 MyISAM,這也是我們 MySQL 進階必經之路。

 [[410835]]

存在即合理,雖然在互聯網公司中 InnoDB 引擎使用較多,但是 MyISAM 引擎的特性自有它自己的使用場景,今天松哥就來和大家捋一捋 MyISAM,這也是我們 MySQL 進階必經之路。

1.MyISAM

MyISAM 是 MySQL 的默認數據庫引擎(5.5版之前),由早期的 ISAM 所改良。雖然性能極佳,但卻有一個缺點:不支持事務處理(transaction)。最近幾年,MySQL 逐漸使用 InnoDB 代替了 MyISAM,關于 InnoDB 和 MyISAM 的歷史糾葛,松哥在上篇文章中(MySQL 體系架構簡介)已經和大家介紹過了,這里就不再贅述。

每一個使用 MyISAM 存儲引擎的數據表,數據都會存放在兩個文件中 .MYD 和 .MYI,例如我新建一個使用了 MyISAM 存儲引擎的表,名為 user,然后我們找到 user 表的存放位置,可以看到如下三個文件:

user.frm:存儲表結構信息,這個和 MyISAM 引擎沒有關系。

user.MYD:存放表數據。

user.MYI:存放索引信息。

題外話,如何查看數據庫文件位置?

執行命令 show global variables like "%datadir%"; 可以查看數據庫文件位置。

2.特性

那么 MyISAM 都有哪些特性呢?接下來我們就從如下幾個方面來介紹下。

2.1 鎖級別

基本上大家看到所有講 MyISAM 和 InnoDB 區別的資料,都會提到這一點,因為這是它倆最為重要的區別,MyISAM 是表級鎖(table-level locking),而 InnoDB 支持行級鎖(row-level locking),也支持表級鎖,但是默認情況下是行級鎖。

表級鎖的特點是開銷小,加鎖快,不會出現死鎖,但是鎖定粒度較大,發生鎖沖突的概率高,而且并發度也低。

行級鎖的特點是開銷大,加鎖慢,有可能會出現死鎖,但是它的鎖定粒度小,發生鎖沖突的概率低,并發度也高。

根據鎖的特點來看,表級鎖更適合于查詢操作(讀寫混合操作執行效率較低),而行級鎖則更適合并發更新、并發查詢的應用,因為我們今天的主角是 MyISAM,所以我們這里就先不討論行級鎖的問題,表級鎖松哥在上篇文章中也已經介紹過了,這里就不再贅述。沒看上篇的小伙伴可以參考:MySQL 中的表級鎖很差勁嗎?。

2.2 check/repair

可以通過 check table 命令來查看 MyISAM 表是否損壞,也可以通過 repair table 命令來修復一個被損壞的 MyISAM 表。

2.3 全文索引

MyISAM 支持全文索引,曾經這是它非常重要的一個特性。因為從 MySQL5.6 開始,InnoDB 才支持全文索引,在這之前,官方的存儲引擎只有 MyISAM 支持全文索引。

另外需要注意的是,MyISAM 引擎還可以建立前綴索引(InnoDB 也支持),所謂前綴索引說白了就是對文本的前幾個字符(具體是幾個字符在建立索引時指定)建立索引,這樣建立起來的索引更小,所以查詢更快。這有點類似于 Oracle 中對字段使用 Left 函數來建立函數索引,只不過 MySQL 的這個前綴索引在查詢時是內部自動完成匹配的,并不需要使用 Left 函數。

關于前綴索引,松哥之前已經專門寫過文章介紹過了:

這個 MySQL 索引選擇性有點意思!

2.4 表壓縮

MyISAM 表支持數據壓縮。

對于一些很大的只讀表,我們可以對其進行壓縮,這樣可以有效節省磁盤 IO。MyISAM 表在壓縮的時候是對單行數據進行壓縮的,所以我們并不用擔心在讀取一行數據的時候會對表進行解壓。

MyISAM 表壓縮的命令是 myisampack,我們來看一個簡單案例:

首先進入到數據庫文件目錄中查看當前的數據庫文件:

然后我們對 user.MYI 文件進行強制壓縮:

user.OLD 是壓縮之前的文件備份,其他的是壓縮后的文件,由于松哥這里的樣例數據比較少,所以壓縮之后的效果不是很明顯(壓縮后的文件反而變大了,如果數據量比較大,就不會出現這個問題)。

壓縮完成后,我們再對數據表進行操作,如下:

可以看到,只有查詢操作是 OK 的,其他的增刪改都是不可以的,因為壓縮后的 user 表就是一個只讀表。

2.5 單表限制

在 MySQL5.0 之前,使用 MyISAM 引擎的數據表,單表最大大小為 4G,如果我們存儲的數據超過了 4G,就需要在創建表的時候,手動調整可存儲的數據行數以及每行的數據大小。

創建表時我們可以通過如下方式修改這兩個變量:

  1. CREATE TABLE user2 ( 
  2. id INTEGER NOT NULL PRIMARY KEY
  3. name CHAR(18) NOT NULL 
  4. ) MAX_ROWS = 1000000000 AVG_ROW_LENGTH = 32; 

對于已存在的表,我們可以通過如下方法修改這兩個變量:

  1. ALTER TABLE user2 MAX_ROWS=1000000000 AVG_ROW_LENGTH=15000; 

當然,這都是老黃歷了!

在 MySQL5.0 之后,單表的大小限制變成了 256TB,這基本上夠用了。

3.使用場景

非事務型應用(MyISAM 不支持事務)

只讀數據(可在表壓縮之后使用)

4.小結

好啦,幾天就先和小伙伴們扯這么多~

參考資料:

https://zhuanlan.zhihu.com/p/123962424

https://www.cnblogs.com/studyzy/p/4310653.html

本文轉載自微信公眾號「江南一點雨」,可以通過以下二維碼關注。轉載本文請聯系江南一點雨公眾號。

 

 

責任編輯:武曉燕 來源: 江南一點雨
相關推薦

2011-11-30 13:34:13

2010-05-19 09:01:00

2014-11-21 10:25:18

Java

2015-02-02 14:12:03

云桌面

2015-06-23 13:22:17

桌面云深信服

2017-05-04 11:05:43

互聯網

2015-10-10 13:11:35

GitGithub工具

2013-06-18 11:05:40

Mac Pro開發工具蘋果

2015-09-10 05:08:34

MacBook Air

2019-11-20 10:25:06

sudoLinux

2024-03-25 00:10:00

JSON后端開發

2017-05-02 11:36:00

Java

2011-04-02 13:11:35

JARJava

2015-08-14 16:39:59

軟件開發老板

2024-10-14 12:42:06

2010-08-24 14:08:33

喬布斯

2015-08-14 14:46:47

軟件開發

2024-01-11 11:28:54

2012-11-23 10:57:44

Shell
點贊
收藏

51CTO技術棧公眾號

国产精品亚洲综合久久| 在线综合色站| 日韩电影一区二区三区四区| 欧美激情小视频| 亚洲а∨精品天堂在线| 国产精品自拍一区| 亚洲一区二区中文| 99精品国产一区二区三区2021| 欧美区一区二区三区| 另类小说第一页| 久久99精品久久久久久国产越南 | 国产精品白丝在线| 亚洲一区二区三区免费观看| 北条麻妃国产九九九精品小说| 亚洲国产日韩精品在线| 日韩私人影院| 综合自拍亚洲综合图不卡区| 欧美黑人在线观看| 日韩电影在线免费看| 97超级在线观看免费高清完整版电视剧| av在线播放一区二区| 亚洲国产精彩中文乱码av| 狠狠狠综合7777久夜色撩人| 亚洲天堂精品视频| 少妇高潮喷水久久久久久久久久| 蜜臀精品一区二区三区在线观看| 91亚洲精品丁香在线观看| 亚洲动漫精品| 亚州国产精品久久久| 日韩一区中文| 深夜福利亚洲导航| 亚洲色图官网| 亚洲精品国产精品久久清纯直播 | 国产精品人成在线观看免费 | 任你弄精品视频免费观看| 国产一区二区三区视频免费| 激情成人四房播| 欧美日韩精品在线观看| 国产a国产a国产a| 中日韩av电影| 欧美 日韩 国产 高清| 国产精品一区二区91| 影音先锋男人的网站| 蜜臀久久99精品久久久久宅男| 欧美一区1区三区3区公司| 国产精品sm| 久久成人资源| 久久久久久久高潮| 先锋在线资源一区二区三区| 噜噜噜躁狠狠躁狠狠精品视频| 亚洲综合小说区| 好吊日精品视频| 欧美动漫一区二区| 激情文学综合插| 日韩pacopacomama| 国产亚洲视频在线观看| 亚洲美女久久精品| 最近中文字幕2019免费| 四虎在线精品| 午夜精品久久久久久久99热| 亚洲精品**不卡在线播he| 国产精品久久久久久久7电影| 手机在线电影一区| 裸模一区二区三区免费| 精品一区二区精品| 色中文字幕在线观看| 成人免费看的视频| 神马午夜伦理影院| 日本在线播放一区二区三区| 激情视频在线观看一区二区三区| 日韩一区二区三区色| 国产精品久久久久久久岛一牛影视| 日本免费不卡一区二区| 粉嫩精品一区二区三区在线观看 | 免费在线观看的毛片| 国产精品一区二区99| 亚洲第一福利在线观看| 中文字幕网站视频在线| 五月激情综合色| 午夜精彩视频| 99riav久久精品riav| 性色av一区二区三区免费| 欧美日韩精品免费观看视欧美高清免费大片 | 欧美视频日韩视频在线观看| 99九九电视剧免费观看| 久久不卡日韩美女| 国产亚洲精品中文字幕| 福利在线一区二区| 国产一区二区三区综合| 你懂的视频在线一区二区| 首页亚洲欧美制服丝腿| 热99这里只有精品| 制服视频三区第一页精品| 日韩在线第七页| 国产色a在线| 国产日韩欧美精品| 精品国产一区二区三区不卡| 精品小视频在线| 一二三四视频在线中文| 日韩精品中文字| 亚洲一级二级| 亚洲色婷婷久久精品av蜜桃| 91sa在线看| 欧美一级一区二区| 91欧美一区二区| 日韩电影一区二区三区| 精品国产成人| 欧美调教在线| 亚洲人体在线| 色偷偷色偷偷色偷偷在线视频| 性色av一区二区| 六月丁香婷婷激情| 欧美日韩高清免费| 久久久女女女女999久久| 亚洲在线观看免费| 国产大片一区| 日本大片在线播放| 丝袜制服一区二区三区| 国产91免费观看| 日韩片欧美片| 污视频网站免费在线观看| 免费看的黄色大片| 久久久久高清| 2021久久精品国产99国产精品| 日本韩国一区二区三区| 免费亚洲一区| 日本视频二区| 久久免费视频网| 中文字幕av一区二区三区免费看 | 亚洲国产精品综合久久久| 黄色在线免费| 欧美精品a∨在线观看不卡| 人人妻人人澡人人爽欧美一区| 97欧洲一区二区精品免费| 色又黄又爽网站www久久| 羞羞答答一区二区| 99热手机在线| 中文字幕精品久久久久| 国产精品亚洲综合色区韩国| 日本在线免费观看视频| 日韩电影免费观看在线观看| 床上的激情91.| 亚洲一区导航| 91久久国产精品91久久性色| 色综合久久中文综合久久牛| 日韩成人激情| 一插菊花综合| 中文字幕亚洲欧美日韩在线不卡| 一区二区三区精品在线| av在线免费不卡| 国产精品自在在线| 国产精品乡下勾搭老头1| 免费在线观看日韩欧美| 久久99久久精品| 久久99久久99精品免视看婷婷| 欧美xxx久久| 欧美国产精品v| 天天射综合影视| 亚洲女同性videos| 久久99热精品这里久久精品| 精品在线欧美视频| 日韩在线观看你懂的| 欧美精品激情在线观看| 啪一啪鲁一鲁2019在线视频| 欧美日产一区二区三区在线观看| 亚洲人成人77777线观看| 国内精品国语自产拍在线观看| 久久久久久18| 亚洲精品美女久久| 欧美日韩一区久久| 色哟哟日韩精品| 色先锋资源久久综合| 精品国产户外野外| 亚洲女同女同女同女同女同69| 99久久婷婷国产综合精品 | 精品一区二区影视| 欧美电影一区| 日韩视频在线直播| 色a资源在线| 最近97中文超碰在线| 99在线观看视频免费| 日韩欧美在线播放视频| 欧美女v视频| 韩国日本在线视频| 麻豆中文字幕在线观看| 国产又爽又黄ai换脸| 黄色漫画在线免费观看| 欧美激情二区| 亚洲ab电影| 成人av高清在线| 亚洲国产另类久久精品| 中文字幕乱码中文乱码51精品| 岛国在线大片| 久久香蕉网站| 91色porny在线视频| 亚洲图片制服诱惑| 韩国成人一区| 黄色av观看| 日韩av黄色| 久久日韩精品一区二区五区|