程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL的內存表

MySQL的內存表

編輯:MySQL綜合教程

MySQL的內存表


這裡寫圖片描述

我們在做網站時,偶然遇到一個問題:網站工作時,有時需要一些不變的資源表,需要根據不同的人的信息,去查表尋找對應需要的數據。<喎?http://www.Bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vcD4NCjxwPtPJ09rDv7j2yMu2vNDo0qqy6bHto6zQp8LKvs3KrrfW1tjSqsHLo6zI57n7trzKudPDtMXFzNbQtcTK/b7do6zQ1MTcv8+2qLK70NCjrLWryOe5+7TmtKKzyc6q18rUtM7EvP6jrMTHw7S+zbK7xNy3vbHjtcTA+9PDU1FM0+++5LXEwem77rLp0a/M9bz+o6yy6bHttcTL47eou7nQ6NfUvLqx4NC0oaM8L3A+DQo8cD694brPwb249s7KzOK/vMLHo6y1w7P2tcS94cLbvs3KxyZtZGFzaDsmbWRhc2g7xNq05rHtoaM8L3A+DQo8aDMgaWQ9"內存表的特性">內存表的特性

所謂“內存表”,即為數據保存在內存中的MySQL表,使用上和其他表並沒有顯著區別,主要特點是在MySQL退出後,其數據會自動消失,並不會持久化。

除此以外,內存表可能最大的問題是不支持變長的類型,這使得在建表時要格外小心。

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

內存表可以有非唯一鍵;

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

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

內存表的建立

建立內存表的時候,在5.5裡,需要指定表的引擎類型 ENGINE=MEMORY

CREATE TABLE `test` (
  `id` int(11) AUTO_INCREMENT,
  `name` varchar(255)
) ENGINE=MEMORY DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;

其余操作:

-- 刪除數據
delete from test;

或者

-- 清空表
truncate table test;

再或者

-- 刪除表
drop table test;

內存表的初始化

但數據會在重啟後丟失,這點十分不便,為此,我們需要初始化內存表,使得其包含要使用的數據。

使用方法很簡單,直接添加到配置文件,比如my.cnf.
添加:
[server] 或者 [mysqld] 或者 [mysqld_safe]
init-file=”Your file location”

請確保init-file指定的腳本每行是一個具體的語句,不要多行寫一個語句。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved