国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Mysql - 關于MySQL Memory存儲引擎的相關知識

關于MySQL Memory存儲引擎的相關知識

2021-03-02 18:32AsiaYe Mysql

這篇文章主要介紹了關于MySQL Memory存儲引擎的相關知識,幫助大家更好的理解和使用MySQL數據庫,感興趣的朋友可以了解下

關于Memory存儲引擎的知識點

    Memory存儲引擎在日常的工作中使用的是比較少的,但是在MySQL的某些語法中,會用到memory引擎的內存表,它有以下幾個特點:

1、內存表的建表語法是create table … engine=memory。

2、這種表的數據都保存在內存里,系統重啟的時候會被清空,但是表結構還在。

2、Memory存儲引擎的數據和索引是分開的。memory存儲引擎的表也可以有主鍵,主鍵id上存儲的是每個數據的位置,主鍵id是哈希索引,索引上的key也不是連續的。

    這種數據和索引分開存放的數據組織形式,我們稱之為"堆組織表",這點區別于Innodb 存儲引擎的"索引組織表"

Innodb和memory存儲引擎的區別

1、Memory存儲引擎的數據存儲順序和插入順序相同,而innodb存儲引擎的數據存儲順序是按照聚集索引有序排列的。舉例如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
mysql> create table t1(id int primary key, c int) engine=Memory;
Query OK, 0 rows affected (0.00 sec)
 
mysql> insert into t1 values(1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(0,0);
Query OK, 10 rows affected (0.00 sec)
Records: 10 Duplicates: 0 Warnings: 0
 
mysql> select * from t1;
+----+------+
| id | c  |
+----+------+
| 1 |  1 |
| 2 |  2 |
| 3 |  3 |
| 4 |  4 |
| 5 |  5 |
| 6 |  6 |
| 7 |  7 |
| 8 |  8 |
| 9 |  9 |
| 0 |  0 |
+----+------+
10 rows in set (0.00 sec)
 
 
mysql> create table t2(id int primary key, c int) engine=innodb;
Query OK, 0 rows affected (0.01 sec)
 
mysql> insert into t2 values(1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(0,0);
Query OK, 10 rows affected (0.00 sec)
Records: 10 Duplicates: 0 Warnings: 0
 
 
mysql> select *from t2;
+----+------+
| id | c  |
+----+------+
| 0 |  0 |
| 1 |  1 |
| 2 |  2 |
| 3 |  3 |
| 4 |  4 |
| 5 |  5 |
| 6 |  6 |
| 7 |  7 |
| 8 |  8 |
| 9 |  9 |
+----+------+
10 rows in set (0.00 sec)

可以看到,memory存儲引擎的結果中,(0,0)這條記錄是在最后面的,和插入順序一致,而innodb存儲引擎的結果中,是按照記錄的順序進行排列的。

2、當數據文件有空洞的時候,innodb存儲引擎插入數據需要在指定的位置插入,而memory存儲引擎只要找到空隙就可以插入

3、當數據位置發生變化的時候,memory存儲引擎需要修改所有的索引,而innodb存儲引擎僅需要修改主鍵索引即可。

4、innodb存儲引擎查詢的時候有"回表",而memory存儲引擎不需要回表。

5、innodb存儲引擎支持varchar,而memory存儲引擎不支持,所有的varchar都當做char處理,除此之外,memory存儲引擎還不支持blob和text字段。

6、范圍查詢的時候,memory存儲引擎無法支持。因為它的索引類型是哈希索引

在生產環境上,一般不建議使用內存表,理由主要有以下兩點:

1、內存表不支持行鎖,只支持表鎖,一旦該表有更新,就會阻塞該表的其他操作,包括讀操作;這就意味著這種表的并發性能不好。

2、數據持久性不好,一旦數據庫宕機,內存表中的數據會丟失,他會忘往binlog中寫入一條delete from table的語句,但是表結構還是存在的。這個delete語句在雙M的環境下,從庫宕機有可能污染主庫的臨時表數據,是比較危險的操作。

以上就是關于MySQL Memory存儲引擎的相關知識的詳細內容,更多關于MySQL Memory存儲引擎的資料請關注服務器之家其它相關文章!

原文鏈接:https://cloud.tencent.com/developer/article/1651589

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日本一区高清 | 黄视频网站在线观看 | 欧美日本免费一区二区三区 | 欧美日韩一区二区中文字幕 | 欧美精品v国产精品v日韩精品 | 精品久久久久久久久久久久久久 | 欧美午夜精品一区二区三区电影 | 欧美一级片在线观看 | 久久国产精品免费一区二区三区 | 亚洲人成网站999久久久综合 | 久草福利在线视频 | 国产精品高清在线 | 午夜视频在线免费观看 | 一级毛片免费视频 | 91久久综合亚洲鲁鲁五月天 | 成人日韩在线观看 | www.99精品| 国产久 | 欧美一级二级视频 | 国产美女精品人人做人人爽 | 狠狠干欧美| 亚洲成人三级 | 日日干狠狠干 | 午夜精品久久久久久久男人的天堂 | 艹逼网| 久久99国产精品免费网站 | 亚洲一区二区三区在线播放 | 欧美自拍一区 | 激情五月婷婷av | 亚洲天堂网站 | 一区二区三区在线 | 日本精品在线观看 | 男人久久久 | 午夜影院在线 | 人人射av | 色99在线| 最新天堂中文在线 | 99视频免费 | 污视频免费网站 | 日韩中文一区二区三区 | 成人看片免费 |