怎样设置mysql数据库的engine_数据库 —— mysql —— 数据库的存储引擎engine、配置文件管理...

数据库 —— mysql —— 数据库的存储引擎engine

存储引擎介绍

存储引擎就是表的类型,针对不同的存储引擎,mysql会有不同的处理逻辑

MyISAM 是不支持外键约束。

查看支持的存储引擎  show engines;

5.5.1之前默认为MYISAM,5.5后默认为InnoDB。

如果新表与MYISAM旧表有外键联系,报错:'Cannot add foreign key constraint'。

b92b516590b064ed87abc6d16092ce15.png

创建表时指定存储引擎

1 create table t1(x int)engine=myisam;

2 create table t1(x int)engine=blackhole;         blackhole黑洞,数据丢进去就不见,不会存在在内存,更不会存在在硬盘

3 create table t1(x int)engine=memory;         memory:insert数据后存放在内存,重启mysql后不见

4 create table t1(x int)engine=innodb;

innodb |default |Supports transactions,row-level locking,and foreign keys

---- transactions:一系列sql语句,要么同时成立,要么同时不成立;

---- row-level locking:行级锁,

---- foreign keys:外键,建立表与表之间的关系

修改表的存储引擎

alter table xxx ENGINE=InnoDB;

存储引擎的限制

innoDB限制

最大列数:1017列。

最大二级索引数:64个。

前缀索引长度限制:DYNAMIC or COMPRESSED行格式:3072字节。REDUNDANT or COMPACT行格式:767字节。

注意点: For example, you might hit this limit with a column prefix index of more than 191 characters on a TEXT or VARCHAR column, assuming a utf8mb4 character set and the maximum of 4 bytes for each character.

释义:某一列数据类型为 TEXT 或 VARCHAR。该列的长度最大仅能设置为191。因为在utf8mb4编码时,一个字符最大占4个字节。191*4= 764。取决于当前编码下一个字符所占的最大字节数(一般为一个汉字字符所占字节数)。

索引长度限制,与innodb_page_size配置有关。

page_size = 16KB,索引最大长度=3072bytes

page_size = 8KB,索引最大长度=1536bytes

page_size = 4KB,索引最大长度=768bytes

前缀索引的限制同样适用于全列的索引键。

联合索引限制:

最多可支持16列数据建立联合索引。超出会返回异常:ERROR 1070 (42000): Too many key parts specified; max 16 parts allowed

行大小限制

MYISAM特点及限制

二、配置文件管理

出现乱码是存取数据的编码不一致。

\s :查看当前mysql客户端服务端的编码

写在 my.ini 文件里。启动mysql时会读取该文件,可将用户名密码写进配置文件,

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值