innodb与myisam的区别
|
MYISAM |
INNODB |
| 事务支持 |
不支持 |
支持 |
| 数据行锁定 |
不支持 |
支持 |
| 数据表锁定 |
支持 |
不支持 |
| 外键约束 |
不支持 |
支持 |
| 全文索引 |
支持 |
不支持 |
| 表空间的大小 |
较小 |
前者2倍 |
常规使用操作
- MYISAM 节约空间,速度较快
- INNODB 安全性较高,事务的处理,多表多用户操作
在物理空间所在路径
- 所有数据库都存放在data目录下,一个文件夹就对应一个数据库,本质还是文件的存储
- 不同的mysql引擎存储文件不同
- innodb在数据表中只有一个*.frm的文件,以及上级目录下的ibdata1文件
- myisam对应文件:
- *.frm 表结构的定义文件
- *.MYD 数据文件(data)
- *.MYI 索引文件(index)
设置数据库表的字符集编码
# 如果不设置,则使用mysql默认的字符集编码,不支持中文
# mysql默认表面是Latin1
# 修改编码有两个方案
# 方案一,在每个创建表语句的后面设置下面的代码
charset=utf8
# 方案二,在my.ini文件中设置默认编码
character-set-server=utf8
# 以上两个方案建议同时使用,尤其是方案一,建议每次都要设置,避免在其他环境中没有配置my.ini文件出现报错问题