MySQL数据库 使用explain和show profile来分析SQL语句实现优化SQL语句

SQL语句优化是建立在慢查询分析的基础上,通过慢查询定位有问题的SQL语句,关于慢查询的介绍及其分析工具,可以参考[mysql慢查询及慢查询日志分析工具]

一、通过explain查询

1 用法:explain sql
2 作用:用于分析sql语句

(1)、id:执行explain的一个编号(没有实际意义)
(2)、table:查询的表名
(3)、select_type:查询类型,是单表查询、联合查询

MySQL数据库 MySQL数据库结构优化

数据库结构优化一般是在数据库设计之时应该充分考虑的,在项目上线后,数据库结构的变化会对项目有很大影响,因此在项目设计之初,要考虑数据库的扩展性。

一、数据库设计的原则

  • 遵循数据库设计三范式,尽量减少数据冗余
  • 尽量避免数据维护中出现插入、更新和删除异常
  • 尽量节约系统资源(主要是存储空间,包括内存与硬盘)
  • 为高效的查询或写操作提供良好的基础
  • 充分理解项目需求,考虑系统的扩展性,将系统的扩展性与高性能达到一个平

Linux系统 浅谈Linux系统参数调优

一、ulimit优化

ulimit约束了系统最大打开的文件数量,可以通过以下方式来修改:

  • 通过ulimit -n命令来修改,如ulimit -n 65535
  • 通过修改/etc/security/limits.conf,将注释内容去掉

    内容如下:

  1. * soft nofile 65535
  2. * hard nofile 65535
  3. root soft nofil

MySQL数据库 mysql慢查询日志与慢查询日志分析工具

一、何为慢操作(慢查询)?

慢查询是指使用时间较长的sql操作,这里的慢是相对的,主要是指超过指定操作时间的sql操作都被称为慢操作。

二、mysql慢操作(慢查询)日志的相关配置

注:以下操作都是基于mysql 5.6(低版本的mysql配置项可能不同)

1、查看是否开启慢查询日志:
  1. show variables like 'slow_query%';

得到结果:

  • slow_query_log:表

MySQL数据库 mysql基准测试与性能分析

一、基准测试

基准测试的作用:
  • 了解当前系统的性能,建立MySQL服务器性能基准线(为之后的性能优化提供一个超始线)
  • 模拟比当前系统更高的负载,找出系统的扩展瓶颈,为系统扩展与优化提供参考条件
  • 测试不同的硬件、软件和操作系统配置
  • 证明新的硬件设备是否配置正确和是否是最优配置
基准测试可以分为集成式测试和单组件式测试基准测试可以分为集成式测试和单组件式测试。
  • 集成式测试就是对整个应用系统进行测试,如一个网站