手记

mysql优化概述

从以下五个方面来考虑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不支持



0人推荐
随时随地看视频
慕课网APP