数据库


MySQL三种存储引擎的区别

  • InnoDB支持事务,可以进行Commit和Rollback;
  • MyISAM 只支持表级锁,而 InnoDB 还支持行级锁,提高了并发操作的性能;
  • InnoDB 支持外键
  • MyISAM 崩溃后发生损坏的概率比 InnoDB 高很多,而且恢复的速度也更慢;
  • MyISAM 支持压缩表和空间数据索引,InnoDB需要更多的内存和存储;
  • InnoDB 支持在线热备份

应用场景

  • MyISAM 管理非事务表。它提供高速存储和检索(MyISAM强调的是性能,每次查询具有原子性,其执行速度比InnoDB更快),以及全文搜索能力。如果表比较小,或者是只读数据(有大量的SELECT),还是可以使用MyISAM;
  • InnoDB 支持事务,并发情况下有很好的性能,基本可以替代MyISAM

数据库优化

1.SQL语句优化

分析慢查询日志:记录了在MySQL中响应时间超过阀值long_query_time的SQL语句,通过日志去找出IO大的SQL以及发现未命中索引的SQL

使用 Explain 进行分析:通过explain命令可以得到表的读取顺序、数据读取操作的操作类型、哪些索引可以使用、哪些索引被实际使用、表之间的引用以及被扫描的行数等问题;

2.索引优化

3.数据库表结构的优化

4.系统配置优化

5.硬件优化


文章作者: 小游
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 小游 !
  目录