日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Memory与Merge特性

發布時間:2024/4/14 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Memory与Merge特性 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

MEMORY

? Memory存儲引擎將表的數據存放在內存中。每個MEMORY表實際對應一個磁盤文件,格式是.frm ,該文件中只存儲表的結構,而其數據文件,都是存儲在內存中,這樣有利于數據的快速處理,提高整個表的效率。MEMORY 類型的表訪問非常地快,因為他的數據是存放在內存中的,并且默認使用HASH索引 , 但是服務一旦關閉,表中的數據就會丟失。

MERGE

? MERGE存儲引擎是一組MyISAM表的組合,這些MyISAM表必須結構完全相同,MERGE表本身并沒有存儲數據,對MERGE類型的表可以進行查詢、更新、刪除操作,這些操作實際上是對內部的MyISAM表進行的。

? 對于MERGE類型表的插入操作,是通過INSERT_METHOD子句定義插入的表,可以有3個不同的值,使用FIRST 或 LAST 值使得插入操作被相應地作用在第一或者最后一個表上,不定義這個子句或者定義為NO,表示不能對這個MERGE表執行插入操作。

? 可以對MERGE表進行DROP操作,但是這個操作只是刪除MERGE表的定義,對內部的表是沒有任何影響的。

下面是一個創建和使用MERGE表的示例 :

1). 創建3個測試表 order_1990, order_1991, order_all , 其中order_all是前兩個表的MERGE表 :

create table order_1990(order_id int ,order_money double(10,2),order_address varchar(50),primary key (order_id) )engine = myisam default charset=utf8;create table order_1991(order_id int ,order_money double(10,2),order_address varchar(50),primary key (order_id) )engine = myisam default charset=utf8;create table order_all(order_id int ,order_money double(10,2),order_address varchar(50),primary key (order_id) )engine = merge union = (order_1990,order_1991) INSERT_METHOD=LAST default charset=utf8;

2). 分別向兩張表中插入記錄

insert into order_1990 values(1,100.0,'北京'); insert into order_1990 values(2,100.0,'上海');insert into order_1991 values(10,200.0,'北京'); insert into order_1991 values(11,200.0,'上海');

3). 查詢3張表中的數據。

order_1990中的數據 :

order_1991中的數據 :

?order_all中的數據 :

?

?4). 往order_all中插入一條記錄 ,由于在MERGE表定義時,INSERT_METHOD 選擇的是LAST,那么插入的數據會想最后一張表中插入。

insert into order_all values(100,10000.0,'西安');

總結

以上是生活随笔為你收集整理的Memory与Merge特性的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。