###第四部分:MySQL存储引擎的选择
###第四(1)部分:MySQL的INNODB存储引擎
#建表时使用ENGINE关键字决定存储引擎
CREATE TABLE innodb_test1(id int , name VARCHAR(16)) ENGINE INNODB;
#5.5.8版本以后默认使用INNODB作为存储引擎,之前是MyISAM
CREATE TABLE innodb_test2(id int , name VARCHAR(16));
#innodb_file_per_table=ON 独立表空间 OFF 系统表空间
SHOW VARIABLES LIKE 'innodb_file_per_table';
SHOW VARIABLES LIKE "%datadir%";
#使用系统表空间
SET GLOBAL innodb_file_per_table=ON;
CREATE TABLE innodb_test3(id int , name VARCHAR(16));
###第四(2)部分:MySQL的Memory存储引擎
CREATE TABLE memory_test(id int PRIMARY KEY NOT NULL auto_increment, name VARCHAR(16),uid int NOT NULL) ENGINE MEMORY;
SHOW VARIABLES LIKE '%heap%'
#2G ,内存表最大长度有业务和硬件来决定,数据超过上限就会报错
#SET GLOBAL 重启后会失效
#修改配置文件
#vi /etc/my.cnf
#[mysqld]
#max_heap_table_size = 2048M
SET GLOBAL max_heap_table_size = 2147483648
#tmp_table_size设置系统临时表的最大存储
#默认值16M, 2G = 2147483648 = 1024 * 1024 * 1024 * 2
#SQL排序,分组所产生的中间表不超过2G使用内存表,超过2G则写MyISAM(不推荐)
#一般情况下与max_heap_table_size相等
#vi /etc/my.cnf
#[mysqld]
#tmp_table_size = 2048M
SET GLOBAL tmp_table_size=2147483648
[关键词: INNODB ]