日韩欧美成人国产激情,欧美日韩国产综合一区二区,日本一区二区三区四区黄色 http://www.jartj.cn/blog 中山php|最優(yōu)網(wǎng)絡(luò) Mon, 13 May 2013 04:56:43 +0000 en hourly 1 http://wordpress.org/?v=3.1.4 mysql數(shù)據(jù)庫(kù)引擎HEAP(MEMORY)的使用,內(nèi)存表,臨時(shí)表的用法 http://www.jartj.cn/blog/view-275.html http://www.jartj.cn/blog/view-275.html#comments Wed, 21 Sep 2011 06:47:44 +0000 lin http://www.jartj.cn/blog/?p=275 HEAP表是訪問數(shù)據(jù)速度最快的MySQL表,他使用保存在內(nèi)存中的散列索引。但如果MySQL或者服務(wù)器重新啟動(dòng),表中數(shù)據(jù)將會(huì)丟失.
用法:如論壇的在線人數(shù)統(tǒng)計(jì),這種表的數(shù)據(jù)應(yīng)該是無關(guān)緊要的,就幾個(gè)簡(jiǎn)單的字段,數(shù)據(jù)也不多,記錄數(shù)怎么也不會(huì)超過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ǔ)句中還可以通過MAX_ROWS來控制表的記錄數(shù)。

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

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

2、僅適合使用的場(chǎng)合。heap不允許使用xxxTEXT和xxxBLOB數(shù)據(jù)類型;只允許使用=和<=>操作符來搜索記錄 (不允許<、>、<=或>=);不支持auto_increment;只允許對(duì)非空數(shù)據(jù)列進(jìn)行 索引(not null)。
注:操作符 “<=>” 說明:NULL-safe equal.這個(gè)操作符和“=”操作符執(zhí)行相同的比較操作,不過在兩個(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ù)制某張表。這需要多做一次查詢。不過可以寫成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ù)器,過程比較復(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.

可以看出來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ù)支持的方法
別人問到的 記一下
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è)置

]]>
http://www.jartj.cn/blog/view-275.html/feed 407
亚洲黑人欧美一区二区三区-亚洲一区二区三区免费视频播放| 亚洲午夜久久久精品影院-性感美女在线观看网站国产| 99在线免费观看视频-丰满人妻一区二区三区视频53| 国产av一区二区三区日韩接吻-av网址在线播放网站| 精品一区二区三区av在线-欧美黑人巨大精品一区二区| 精品一区二区三区av在线-欧美黑人巨大精品一区二区| 欧美精品国产系列一二三国产真人-在线观看国产午夜视频| 日本中文字幕啊啊啊啊-久久精品伊人久久精品伊人| 亚洲永久免费在线观看-亚洲欧美导航一区二区导航| 男女做爰猛烈啪啪吃奶在线观看-人妻连裤丝袜中文字幕| 五月婷婷六月在线观看视频-亚洲黑寡妇黄色一级片| 一级特黄大片亚洲高清-国产精品视频伊人久久| 午夜福利1区2区3区-午夜洗澡免费视频网站| 久久久噜噜噜久久狠狠50岁-精品一区二区三区av| 亚洲精品在线观看一二三区-在线观看国产中文字幕视频| 精品国产综合一区二区三区-蜜臀一区二区三区刺激视频| 一级小黄片在线免费看-亚洲欧美午夜情伊人888| 亚洲综合久久综合激情-日韩欧美精品人妻二区少妇| 久久99热这里都是精品啊-国产成人亚洲精品无码aV| 国产成人高清精品免费5388-好妞色妞在线视频播放| 日本亚洲精品中字幕日产2020-很黄很黄的裸交视频网站| 四虎成人在线免费视频-亚洲熟女中文字幕天堂| 97人妻精品一区二区三区爱与-日韩精品亚洲专区在线观看| 日韩国产一区二区三区在线-精品日韩人妻少妇av| 久久高清超碰av热热久久-国产高清不卡免费视频| 一级小黄片在线免费看-亚洲欧美午夜情伊人888| 中文字幕人妻少妇第一页-隔壁的女孩在线看中文字幕| 青青草原免费国产在线视频-精品人妻乱码一区二区三区四区| 欧美伦乱淫老妇女激情吧-亚洲女邻居精品二区久久| 91九色蝌蚪丝袜人妻-国产精品9999网站| 国产欧美一区二区三区嗯嗯-欧美一区二区日本国产激情| 国产高清av免费在线观看-黄片毛片大全一区二区三区| av噜噜国产在线观看-欧美视频亚洲视频一区二区三区| 免费av一区在线观看-国产精品视频高潮流白浆视频免费| 一区二区三区日本韩国欧美-日本1区2区3区4区在线观看| 小12萝自慰喷水亚洲网站-chinese偷拍一区二区三区| 成人免费黄色在线网站-日韩精品一区二区三区四区在线| 日韩二级视频在线观看-美女扒开奶罩露出奶子的视频网站| 欧美日韩黑人在线播放-51在线精品免费视频观看| 亚洲av日韩五月天久热精品-国产日韩欧美一区二区三区群战| 黄色91av免费在线观看-欧美黄片一级在线观看|