美文网首页程序员
mysql数据优化思路

mysql数据优化思路

作者: 进步源于积累 | 来源:发表于2018-09-30 15:46 被阅读0次

后台开发,不了解一丢丢数据库怎么能行。少不了得了解一点优化知识吧,要不别人嫌你的慢的要死怎么办。至少得找到能够下手的点。

遇到问题应该如何去思考。

优化思路,从这些点切入。

1.数据库设计

2.sql语句优化

3.数据库参数配置

4.恰当的硬件资源和操作系统

那么就分开从上面这些点简单说一哈。

数据库设计

怎么设计?遵循三范式。

什么是三范式?

1.字段不可分。

2.有主键,非主键字段依赖主键。

3.非主键字段不能互相依赖。

三范式言简意赅,没啥说的。

还有,选用合适的数据类型。这个没必要说了。经验积累。

选择合适的引擎:

MyISAM:默认的Mysql存储引擎。插入读写多,更新删除少,并对事务的完整性要求的不是很高。访问快。

InnoDB:提交了具有提交、回滚、崩溃恢复能力的事务安全。写的效率差一些、而且占用更多磁盘空间。

sql语句优化

这个就是重点了。这部分也是常常做为后端开发需要优化的一个点。这就是所谓的优化慢SQL部分。

首先,慢SQL,什么是慢呢,查多久算慢,1s还是10s。

机器肯定不知道,你得告诉它。

show variables like 'long_query_time';

set long_query_time=2; 

show那个参数看定义慢查询的时间是多少,默认10s,好,改,两秒你就是慢。

以后超过两秒后就是慢SQL了。去哪找?它默认不给你记录。得自己开。

bin\mysqld.exe - -safe-mode  - -slow-query-log(开启)

开!版本不一样,开的方式也不一样,简单查一下就出来了。

这样的话,要是超过2s的话,这些SQL都给你记下来了。

默认目录是data中的host-name-slow.log。 忘记了话,根据命令查一下。

 slow_query_log //是否打开日志记录

slow_query_log_file //日志存放位置

SQL记下来了,那怎么办呢。当然是分析它

如何分析?使用explain命令分析它,分析出许多字段什么意思。

  select_type:表示查询的类型。

  table:输出结果集的表

  type:表示表的连接类型

  possible_keys:表示查询时,可能使用的索引

  type:扫描类型

  key:表示实际使用的索引

  key_len:索引字段的长度

  rows:扫描出的行数(估算的行数)

  Extra:执行情况的描述和说明

从这个分析结果就能看出来,比如:原来我的SQL没用到索引!!!

查看索引使用情况:

show status LIKE 'Handler_read%'    

Handler_read_key越高表示使用索引查询到的次数

Handler_read_rnd越高说明效率越低

分析完如何解决优化呢?留个入口,单独写索引(这里)。

数据库参数配置

1.内存,一般用InnoDB,所以两个调大一些

innodb_additional_mem_pool_size = 64M

innodb_buffer_pool_size =1G

2.修改存储引擎和最大连接数

恰当的硬件资源和操作系统

这。。我也不知道选啥。

没写多少,大概思路是这样。

相关文章

  • mysql数据优化思路

    后台开发,不了解一丢丢数据库怎么能行。少不了得了解一点优化知识吧,要不别人嫌你的慢的要死怎么办。至少得找到能够下手...

  • Mysql查询优化

    mysql的优化思路: 日志、执行计划、索引、缓存(查询缓存和索引缓存)、SQL优化、分区、分表、分库、修改数据库...

  • mysql优化

    mac下开启数据库:每次启动都是找了半天,这次记录下:启动mysql数据库mycat学习分享mycat学习总结优化思路

  • 9月17-MySQL性能优化

    MySQL性能优化策略 1、MySQL内核架构 2、索引原理与查询优化 加速MySQL高效查询数据的数据结构 二分...

  • MySQL——优化思路

    Q:为什么人家问你MySQL优化知识,你总是没有底气?A:因为你只能回答一些大而化之的调优原则。 比如建立联合索引...

  • mysql优化思路

    作者:哈哈链接:https://www.zhihu.com/question/19719997/answer/81...

  • MySQL数据库与SQL优化

    一、MySQL数据库 - SQL优化 MySQL DBMS - MySQL Database Management...

  • 【MySQL】基于MySQL的SQL优化(五)——建立索引优化S

    本文章使用数据均来自MySQL样本数据库Sakila,参考:【MySQL】基于MySQL的SQL优化(〇)——数据...

  • SQL执行与优化

    SQL优化 执行计划,表关联查询顺序,优化策略与思路 MYSQL执行过程 一、MySQL架构总览: 二、查询执行流...

  • MySQL千万数据优化分页查询

    操作环境: MySQL: 5.7.26 Navicat for MySQL 目的: MySQL千万级数据的优化查询...

网友评论

    本文标题:mysql数据优化思路

    本文链接:https://www.haomeiwen.com/subject/ddywoftx.html