从以下五个方面来考虑mysql优化的问题: 1、设计角度: 存储引擎的选择,字段类型选择,范式 存储引擎: innoDB、mysiam 2、功能: 利用mysql自身的特性:索引,查询缓存,分区、分表,存储过程 3、SQL语句的优化 4、部署大负载MySQL架构体系: 主从复制,读写分离,主主复制,集群。 5、硬件升级
先从第一个来说: 设计角度: 1.MyISAM查询性能比InnoDB更快,但不支持事务处理,InnoDB支持事务处理和外键等高级功能 2.在mysql5.6版本之前InnoDB不支持全文检索,5.6以后支持了 3、每张MyISAM 表被存放在三个文件 :frm 文件存放表格定义。 数据文件是MYD (MYData) 。 索引文件是MYI (MYIndex) 引伸。因为MyISAM相对简单所以在效率上要优于InnoDB,小型应用使用 MyISAM是不错的选择。MyISAM表是保存成文件的形式,在跨平台的数据转移中使用MyISAM存储会省去 不少的麻烦InnoDB 把数据和索引存放在表空间里,可能包含多个文件,这与其它的不一样,举例来 说,在 MyISAM 中,表被存放在单独的文件中。InnoDB 表的大小只受限于操作系统的文件大小, 一般为 2 GB。InnoDB所有的表都保存在同一个数据文件 ibdata1 中(也可能是多个文件,或者是 独立的表空间文件),相对来说比较不好备份。
数据库存储引擎
① 查看MySQL支持的数据库引擎(MySQL5.5以后默认的存储引擎是innerDB)
基本语法:
show engines; 查看MySQL支持的所有引擎
mysql 5.6之后innoDB才支持全文索引
② 支持的功能不同
Myisam引擎:擅长数据查询和新增操作,另外其还支持全文索引(英文分词技术)
InnoDB引擎:擅长数据的更新和删除操作,还支持事务处理,另外MySQL5.6之后其也支持全文索引了
③ 存储机制也不同
2种引擎对应的数据库的结构不一致,文件数目不一致,且数据保存的文件也不一致
InnoDB和myisam区别
1. 文件的存储形式不一样
2. myisam的批量插入和查询效率高,而InnoDB的修改和删除效率高
3. 事务安全只有InnoDB支持,myisam不支持
4. InnoDB支持外键,myisam不支持
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦