日韩欧美成人国产激情,欧美日韩国产综合一区二区,日本一区二区三区四区黄色 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
亚洲黄片三级三级三级-国产成人一区二区在线视频| 亚洲产国偷v产偷v自拍性色av-亚洲欧美日韩国产三区| 午夜日韩精品在线视频-亚洲网老鸭窝男人的天堂| 日本中文字幕永久在线人妻蜜臀-欧美一区二区的网站在线观看| 91精品国产无线乱码在线-999精品视频免费看| 99精品只有久久精品免费-蜜臀一区二区三区精品久久久| 99热在线精品免费6-av一区二区在线观看| 哦啊好大用力欧美视频-麻豆国产传媒片在线观看| 国产精品电影在线一区-亚洲国产大片一区二区官网| 性都花花世界亚洲综合-日韩av一区二区三区| 日韩亚洲一区二区三区av-欧美综合在线观看一区二区三区| 91九色蝌蚪丝袜人妻-国产精品9999网站| 欧美一级一线在线观看-亚洲一区二区亚洲三区| 深夜三级福利在线播放-日韩精品一区二区在线天天狠天| 国产精品中出久久久蜜臀-久久久中国精品视频久久久| 国产在线观看高清精品-四季av一区二区三区中文字幕| 丝袜美腿人妻连续中出-在线观看日韩三级视频| 亚洲国产精品一区二区av-日本一级黄色一区二区| 中文字幕精品一区二区日本99-青青国产成人久久91网| 日韩二级视频在线观看-美女扒开奶罩露出奶子的视频网站| 熟女少妇免费一区二区-麻豆一区二区三区免费在线观看| 日韩精品人妻系列一区-亚洲女同性一区二区三区| 女主播啪啪大秀免费观看-精品99午夜福利影院| 中文字幕人妻少妇第一页-隔壁的女孩在线看中文字幕| 国产精品久久久精品一区-99久久免费精品国产男女性高好| 青青操视频在线观看国产-欧美成人乱码在线观看| 精品一区二区三区av在线-欧美黑人巨大精品一区二区| 久久夜色精品亚洲噜国产av-大香蕉伊人猫咪在线观看| 熟女少妇免费一区二区-麻豆一区二区三区免费在线观看| 欧美精品午夜一二三区-a屁视频一区二区三区四区| 久久精品亚洲国产av久-国产精品视频一区二区免费| 国产在线观看高清精品-四季av一区二区三区中文字幕| 久久久精品欧美日韩国产-欧美精品乱码视频在线| 三上悠亚免费观看在线-青青草原在线视频观看精品| 一区二区三区国产高清mm-美女张开腿让帅哥桶爽| 亚洲午夜久久久精品影院-性感美女在线观看网站国产| 人妻日韩精品中文字幕图片-麻豆极度性感诱人在线露脸| 人妻丝袜中文字幕在线视频-亚洲成av人片一区二区三区| 国产精品一区二区在线免费-久久精品国产亚洲av热明星| 午夜福利1区2区3区-午夜洗澡免费视频网站| 日韩精品中文在线观看一区-亚洲bt欧美bt精品|