超碰97资源在线免费观看-国产亚洲一区二区久久-欧美日韩成人字幕一区-激情五月网在线视频-亚洲天堂美女av在线-麻豆视传媒精品av-婷婷激情综合激情五月俺也去-国产精品久久久久久亚洲av站-51精产国品一二三产区区,久久久久久久区二区三区四区久久久,色哟哟视频国产精品,日韩va亚洲va欧美

中山php|最優(yōu)網(wǎng)絡(luò)中山做網(wǎng)站 中山php建站

最優(yōu)良人

2011/09/21 at 14:47

mysql數(shù)據(jù)庫(kù)引擎HEAP(MEMORY)的使用,內(nèi)存表,臨時(shí)表的用法

HEAP表是訪問(wèn)數(shù)據(jù)速度最快的MySQL表,他使用保存在內(nèi)存中的散列索引。但如果MySQL或者服務(wù)器重新啟動(dòng),表中數(shù)據(jù)將會(huì)丟失.
用法:如論壇的在線人數(shù)統(tǒng)計(jì),這種表的數(shù)據(jù)應(yīng)該是無(wú)關(guān)緊要的,就幾個(gè)簡(jiǎn)單的字段,數(shù)據(jù)也不多,記錄數(shù)怎么也不會(huì)超過(guò)1000吧,但是操作是最頻繁的(基本用戶的每次動(dòng)作都要更新這個(gè)表).

如何創(chuàng)建內(nèi)存表?
創(chuàng)建內(nèi)存表非常的簡(jiǎn)單,只需注明 ENGINE= MEMORY 即可:
CREATE TABLE `tablename` ( `columnName` varchar(256) NOT NUL) ENGINE=MEMORY DEFAULT CHARSET=latin1 MAX_ROWS=100000000;

注意:
當(dāng)內(nèi)存表中的數(shù)據(jù)大于max_heap_table_size設(shè)定的容量大小時(shí),mysql會(huì)轉(zhuǎn)換超出的數(shù)據(jù)存儲(chǔ)到磁盤上,因此這是性能就大打折扣了,所 以我們還需要根據(jù)我們的實(shí)際情況調(diào)整max_heap_table_size,例如在.cnf文件中[mysqld]的下面加入:
max_heap_table_size = 2048M
另外在建表語(yǔ)句中還可以通過(guò)MAX_ROWS來(lái)控制表的記錄數(shù)。

內(nèi)存表使用哈希散列索引把數(shù)據(jù)保存在內(nèi)存中,因此具有極快的速度,適合緩存中小型數(shù)據(jù)庫(kù),但是使用上受到一些限制。

1、heap對(duì)所有用戶的連接是可見的,這使得它非常適合做緩存。

2、僅適合使用的場(chǎng)合。heap不允許使用xxxTEXT和xxxBLOB數(shù)據(jù)類型;只允許使用=和<=>操作符來(lái)搜索記錄 (不允許<、>、<=或>=);不支持auto_increment;只允許對(duì)非空數(shù)據(jù)列進(jìn)行 索引(not null)。
注:操作符 “<=>” 說(shuō)明:NULL-safe equal.這個(gè)操作符和“=”操作符執(zhí)行相同的比較操作,不過(guò)在兩個(gè)操作碼均為NULL時(shí),其所得值為1而不為NULL,而當(dāng)一個(gè)操作碼為NULL時(shí),其所得值為0而不為NULL。

3、一旦服務(wù)器重啟,所有heap表數(shù)據(jù)丟失,但是heap表結(jié)構(gòu)仍然存在,因?yàn)閔eap表結(jié)構(gòu)是存放在實(shí)際數(shù)據(jù)庫(kù)路徑下的,不會(huì)自動(dòng)刪除。重啟之后,heap將被清空,這時(shí)候?qū)eap的查詢結(jié)果都是空的。

4、如果heap是復(fù)制的某數(shù)據(jù)表,則復(fù)制之后所有主鍵、索引、自增等格式將不復(fù)存在,需要重新添加主鍵和索引,如果需要的話。

5、對(duì)于重啟造成的數(shù)據(jù)丟失,有以下的解決辦法:
a、在任何查詢之前,執(zhí)行一次簡(jiǎn)單的查詢,判斷heap表是否存在數(shù)據(jù),如果不存在,則把數(shù)據(jù)重新寫入,或者DROP表重新復(fù)制某張表。這需要多做一次查詢。不過(guò)可以寫成include文件,在需要用該heap表的頁(yè)面隨時(shí)調(diào)用,比較方便。
b、對(duì)于需要該heap表的頁(yè)面,在該頁(yè)面第一次且僅在第一次查詢?cè)摫頃r(shí),對(duì)數(shù)據(jù)集結(jié)果進(jìn)行判斷,如果結(jié)果為空,則需要重新寫入數(shù)據(jù)。這樣可以節(jié)省一次查詢。
c、更好的辦法是在mysql每次重新啟動(dòng)時(shí)自動(dòng)寫入數(shù)據(jù)到heap,但是需要配置服務(wù)器,過(guò)程比較復(fù)雜,通用性受到限制。

6、一些預(yù)期可能用到的sql語(yǔ)句

//如果表存在,則刪除
DROP TABLE IF EXISTS `abc`;
//復(fù)制整張表xyz為heap表abc(包含所有數(shù)據(jù))
CREATE TABLE `abc` type=heap select * from `xyz`;
//添加主鍵id
ALTER TABLE `abc` ADD PRIMARY KEY (`id`);
//添加索引username
ALTER TABLE `abc` ADD INDEX `abc` (`username`);

其它參考:
官方文檔:As indicated by the name, MEMORY tables are stored in memory. They use hash indexes by default, which makes them very fast, and very useful for creating temporary tables. However, when the server shuts down, all rows stored in MEMORY tables are lost. The tables themselves continue to exist because their definitions are stored in .frm files on disk, but they are empty when the server restarts.

可以看出來(lái)MEMORY確實(shí)是very fast,and very useful for creating temporary tables .把臨時(shí)表和內(nèi)存表放在一起使用確實(shí)會(huì)快不少:create table tmp2(id int not null) engine memory;
內(nèi)存表的建立還有一些限制條件:
MEMORY tables cannot contain BLOB or TEXT columns. HEAP不支持BLOB/TEXT列。
The server needs sufficient memory to maintain all MEMORY tables that are in use at the same time. 在同一時(shí)間需要足夠的內(nèi)存.
To free memory used by a MEMORY table when you no longer require its contents, you should execute DELETE or TRUNCATE TABLE, or remove the table altogether using DROP TABLE.為了釋放內(nèi)存,你應(yīng)該執(zhí)行DELETE FROM heap_table或DROP TABLE heap_table。

幾個(gè)關(guān)鍵參數(shù)

max_heap_table_size
mysql HEAP MEMORY tables 提高行數(shù)支持的方法
別人問(wèn)到的 記一下
mysql MEMORY tables 如果目前支持的行數(shù)到上限還不夠用 可以把 my.conf 配置里面
max_heap_table_size = 256M
改大
設(shè)置 MAX_ROWS
在跑著 可以 ALTER TABLE tbl_name MAX_ROWS=
MAX_ROWS 依賴于 max_heap_table_size 設(shè)置

標(biāo)簽:,
-
国产麻豆精品视频涩爱-综合亚洲欧美日韩综合久久-久久热最新视频在线观看-日韩亚洲视频观看 | 国产午夜久久久久电影-国产又粗又硬又大又长的视频-久久精品亚洲国产-又粗又长又大又硬视频免费 亚洲欧洲日产国产网站-日韩高清美女小便凸-麻豆专区视频二区制服丝袜-综合激情中文字幕一 | 77777亚洲熟妇av在线-久久久人成影片一区二区三区-国产人妻一区二区三区在线播-97超碰伊人中文字幕网 | 亚洲美女高潮久久久久-色综合av男人的天堂伊人-国产又黄又猛一区二区三区-av中文字幕网站在线 | 色狠狠久久五月综合-全国十大黄页免费观看网址-久久91超碰精品国产91久久久-日韩成人免费视频一 中文字幕人妻一区二区三区-麻豆精品在线免费观看-亚洲av粉嫩性色av-日韩欧美国产视频在线 | 人人妻人人躁人人爽-国产91精品久久久久久久-91麻豆精品在线观看视频-五月婷婷网在线观看 | 国产麻豆福利在线观看-91精品国产综合久久不8-亚洲一区二区三区免费在线能看的av-欧美一区二区三区硬 | 东京热中文字幕在线播放-国产成人自拍视频在线免费播放-久久99亚洲精品久久网站-久久青青视频黄色一级 | 天av一区二区三区-69久视频在线观看-色婷亚洲五月天-91在线码无精品入口九色 | 亚洲区视频免费观看-久久视频精品视频在线观看-国产成人精品1024视频-久久综合久久综合久久色 | 久久精品视频看看-久热国产视频在线观看-国产精品_国产精品_国产精品-av在线观看中文字幕日韩精品 | 人人妻天天爽天天碰-国产麻豆一区二区三区视频-久久99蜜桃精品久久-日本欧洲大胆色噜噜337p | 精品人妻一区二区三区在线不卡-天天干天天操天天av-国产一区二区在线视频播放-久久久久久久久99这爱6 | c0930h0930人妻熟女-欧美日韩成人色视频-麻豆成人久久精品二区三区红-日本一区二区三区黄 | 人妻中文字幕中出-99久久国产一区二区三区-8888888888日本视频-91久久久久三区四区 | 国产精品97久久久久久-亚洲婷婷久久狠狠影院-婷婷六月天亚洲综合-欧美不卡视频一区二区三区 | 精品国产精品色哟哟-岛国av中文字幕在线观看-久久久999精品国产-乱人视频中文字幕 | 精美欧美一区二区三区-日韩三区三区一区区欧69国产-色噜噜品一区二区三区孕妇-久久偷拍女人厕所尿尿wc | 色哟哟国产精品视频在线免费观看-日韩亚洲在线成人-99久久精品国产亚洲av热热爱-久久视频在线观看. | 亚洲另类图片 av-91午夜精品一区二区三区-人妻99在线视频-99久热在线精品视频播放 | 亚洲激情 中文人妻-成人黄网站色视频在线观看午夜-日韩亚洲欧美高清视频-26uuu亚洲精品国产精 | 亚洲va在线va欧美va01-久久日韩一区二区三区-久久亚洲视频网-91成人版在线观看17c | 精品中文一区二区三区-欧美色道久久88综合亚洲精品-国产精品麻豆网站在线观看-国精产品一区二区精品 | 亚洲一区二区三区熟女少妇-人人搞人人射人人插-激情综合婷婷六月天-日韩中文久久久人妻 | av在线小泽玛利亚-国产成人自拍第一页-人妻中文字幕第一页-久久婷婷国产av | 中文字幕日韩有码欧美精品-99精品网站在线观看-日韩av哪里看-欧美成人精品免费看 | 国产麻豆激情视频在线观看免费-伊人久久久成人-youtube视频字幕中文-丰满人妻99一区二区三区 | 国产精品久久国产精品99电影-欧美日韩美女色视频-日韩三级在线麻豆-久久99精品久久久久婷婷暖91 丁香婷婷综合激情四射-国精产品一区一区三区公司背景-天天干天天操天天操天天干-日韩精品人妻av中文在线观看 | 亚洲熟女黄网站色视频-97色婷婷成人综合在线观看-91精品人妻一区二区六十路-999精品免费网站 | 中文字幕人成乱码熟女-久久久久黑人强伦奸人妻-日韩中文字幕乱码一-婷婷免费精品视频在线 | 91福利美女视频-91久久精品免费视频-欧美人妻少妇一区二区三区-av影片在线观看午夜精品 | 九九爱在线观看视频-婷婷性福生活五月天-久久精品久久久久久久久久久-久久精品久久久精品美女 | 十八禁黄色免费污污污亚洲-国产激情综合av在线-亚洲va久久久噜噜久久蜜臀av-99精品99免费视频 | 99久久成人精品国产-婷婷丝袜中文字幕-黑人亚洲人巨大av-超碰97免费资源人人看 | 亚洲成人久久蜜桃-国产成人av一区二区三区四区-成人一区二区三区黑人欧美-九九爱这里只有精品6 | 日韩中文字幕电影在线观看网址-97caopao视频在线-av中文字幕在-欧美中文字幕在线观看一区 | 国产一区二区三区在线男友-国产成人精品在线久久-婷婷久久激情九月-久久精品欧美大胆a级 | 国产成人精品免费网站在线播放-国产麻豆剧传媒精品国产ac-亚洲欧美日韩国产图片-天天操天天日天天摸天天干 | 日本一区二区三区高-久久国产乱子伦精品免费观看-7777精品久久久大香-久久www免费人成_看片 | 欧美特黄特色aaa大片免费看-成人久久18免费-99久久精品费精品蜜-久久天天操狠狠操夜夜操2021 | 蜜臀av粉嫩av-久久99国产综合精品婷婷-国产午夜在线之美女-国产精品久久久久久三级精品 |