a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C > 正文

MySQL的內存表的基礎學習教程

2020-02-24 14:28:39
字體:
來源:轉載
供稿:網友

MySQL的內存表可以手動創建臨時表和內存表,但臨時表的重要作用是組織數據以提高性能,不能在多個連接之間共享臨時表,本文是武林技術頻道和大家分享的MySQL的內存表的基礎學習教程,一起來看看吧!

這里只討論內存表

創建表是,用engine=heap可創建(mysql5.5中已經不支持type,以后都用engine,形成習慣)。

create table test( id int unsigned not null auto_increment primary key, state char(10), type char(20), date char(30))ENGINE=MEMORY DEFAULT CHARSET=utf8;

內存表的特性

1.對于varchar等變長類型,內存表使用固定的長度來存放;

2.內存表可以有非唯一鍵;

3.內存表不能包含BLOB或者TEXT列;

4.內存表支持AUTO_INCREMENT列;

5.內存表支持插入延遲,使讀取優先;

6.非臨時內存表和其它非內存表一樣在所有客戶端直接共享;

我們使用內存表的時候,需要注意以下幾個方面:

1.服務器內存足夠大;

2.我們創建的內存表和MySQL內部臨時表有所不同:

????? 內存表的數據存放在內存中,而內部臨時表(我們的query語句產生的)在恰當的時候存放在內存中,當內部臨時表變得很大時,MySQL會自動地把它轉化為 在磁盤上存儲的表,而我們創建的內存表,卻不會自動轉換。

3.當我們單獨地delete from 某個內存表的時候,不會回收內存;只有當整個表被delete的時候,才會回收內存;

4.在MySQL的主從服務器上,內存表可以被復制

內存表的一些使用限制

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

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

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

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

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

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

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

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

以上就是MySQL的內存表的基礎學習教程的全部內容,如果你還想了解更多C語言的知識,你可以隨時來我們武林技術頻道學習和參考,相信一定能幫助到你。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 黄色免费网站 | 午夜在线电影 | 亚洲精品国产setv | 久草在线在线精品观看 | 在线观看成人av | av影院在线| 天天综合7799精品影视 | www.huangse| 久久9视频| 亚洲伊人久久网 | 一区二区蜜桃 | 久久国产一区二区 | 亚洲精品乱码久久久久久9色 | 久草免费在线视频 | 精品一区二区三区在线观看 | 九九热精品免费视频 | 中文字幕日韩在线 | 香蕉婷婷 | 日韩欧美在线播放视频 | 欧美极品一区二区 | 日本亚洲精品一区二区三区 | 韩日中文字幕 | 日韩欧美不卡 | 国产成人精品一区二区在线 | 日韩中文在线 | 午夜精品久久久久久久99樱桃 | 亚洲精品成人在线 | 国产精品国产三级国产专播品爱网 | 亚洲精品久久久久久久久久久久久 | 国产精品免费一区二区 | 久久亚洲免费 | 久久久久黄色 | 中文字幕丝袜 | 青青久久网| 亚洲色域网 | 国产亚洲一区二区三区在线观看 | 国产视频一区二区在线观看 | 不卡一区| 欧美中文字幕在线观看 | 97视频网址| 精品九九九|