亚洲最大午夜福利视频,香港三日本三级少妇三级66,久久久久一区二区三区国产,日本福利视频中文字幕

中山php|最優(yōu)網絡中山做網站 中山php建站

最優(yōu)良人

2011/09/21 at 14:47

mysql數據庫引擎HEAP(MEMORY)的使用,內存表,臨時表的用法

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

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

注意:
當內存表中的數據大于max_heap_table_size設定的容量大小時,mysql會轉換超出的數據存儲到磁盤上,因此這是性能就大打折扣了,所 以我們還需要根據我們的實際情況調整max_heap_table_size,例如在.cnf文件中[mysqld]的下面加入:
max_heap_table_size = 2048M
另外在建表語句中還可以通過MAX_ROWS來控制表的記錄數。

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

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

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

3、一旦服務器重啟,所有heap表數據丟失,但是heap表結構仍然存在,因為heap表結構是存放在實際數據庫路徑下的,不會自動刪除。重啟之后,heap將被清空,這時候對heap的查詢結果都是空的。

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

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

6、一些預期可能用到的sql語句

//如果表存在,則刪除
DROP TABLE IF EXISTS `abc`;
//復制整張表xyz為heap表abc(包含所有數據)
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確實是very fast,and very useful for creating temporary tables .把臨時表和內存表放在一起使用確實會快不少:create table tmp2(id int not null) engine memory;
內存表的建立還有一些限制條件:
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. 在同一時間需要足夠的內存.
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.為了釋放內存,你應該執(zhí)行DELETE FROM heap_table或DROP TABLE heap_table。

幾個關鍵參數

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

標簽:,
-
国产伦精品一区二区三区精品视频| 性欧美唯美尤物另类视频| 国产男女激情在线视频| 日本精品中文字幕在线视频| 精品熟女少妇av免费久久野外| 亚洲精品高清国产一线久久| 亚洲熟妇av一区二区三区色堂| 久久老熟女一区二区三区福利| 亚洲高清亚洲欧美一区二区| 隔壁的日本人妻中文字幕版| 色小姐干香蕉在线综合网| 欧美自拍偷自拍亚洲精品| 人妻熟女中文字幕在线| 夫妻性生活真人动作视频| 亚洲视频一级二级三级| 国产丝袜女优一区二区三区| 亚洲一区二区三区在线免费| 欧美精品久久男人的天堂| 激情五月综五月综合网| 日本加勒比在线观看一区| 精品人妻一区二区三区四在线| 欧美韩日在线观看一区| 日韩一区二区三区高清在| 日本丁香婷婷欧美激情| 国产午夜精品福利免费不| 成年人免费看国产视频| 色老汉在线视频免费亚欧| 熟女乱一区二区三区四区| 中文字幕一区二区三区中文| 日韩欧美一区二区久久婷婷| 人妻一区二区三区在线| 日本最新不卡免费一区二区| 午夜精品一区二区三区国产| 日本淫片一区二区三区| 蜜臀人妻一区二区三区| 日韩一区二区三区在线日| 日韩精品一区二区亚洲| 91久久精品在这里色伊人| 日韩欧美中文字幕人妻| 99久久精品免费精品国产| 中文字幕人妻一区二区免费|