博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
让数据库跑的更快的7个MySQL优化建议
阅读量:4684 次
发布时间:2019-06-09

本文共 1436 字,大约阅读时间需要 4 分钟。

随着容量和负载的增加,MySQL 的性能会日趋缓慢。这里有七点建议能够保证 MySQL 的平稳运行。

 

让数据库跑的更快的7个MySQL优化建议

性能是我们衡量应用的一种方式,而应用性能的一项指标就是用户体验,也就是平时我们常说的:“用户需要等待超过合理的时间,才能获得他们想要的东西吗?”

在不同的情况和场景下,该指标会有所不同。比如说:对于移动购物应用来说,其响应时间不能超过几秒钟;而对于一个员工的人力资源页面而言,其响应时间则允许比几秒钟更长。

因此,不管是什么样的标准,维持应用程序的良好性能都是至关重要的,否则就会引发用户的抱怨(或更糟的是用户转而使用其他的应用)。而数据库性能就是影响应用程序性能的因素之一。

可以说,应用程序、网站和数据库之间的交互会直接影响到应用服务水平的确立。

这种交互的一个核心组成部分是:各种应用程序如何去查询数据库,以及数据库是如何响应各种请求的。

不论是哪一种标准,MySQL 都是时下最流行的数据库管理系统之一。越来越多的企业已将 MySQL(和其他开源的数据库)视为其生产环境中的数据库解决方案。

MySQL 有许多配置方法可以确保您的数据库能够快速地响应各种查询,同时仅对应用程序性能造成细微的下降。

以下就是能够帮助您优化 MySQL 数据库性能的 7 点必备技巧:

  • 学习如何使用EXPLAIN
  • 创建正确的索引
  • 拒绝默认设置
  • 将数据库载入内存中
  • 使用SSD存储
  • 横向扩展
  • 追求可视性

学习如何使用 EXPLAIN

 

在您对数据库做任何设计决策时,有两个方面非常重要:

  • 应用实体之间如何被映射到各个数据表(数据库模式架构)上。
  • 应用程序如何获取(查询)到它们所需格式类型的数据。

复杂的应用程序必然有着复杂的模式架构和查询。如果您想让自己的各种应用具备所需的性能和扩展性,那就不能单纯依靠直觉去理解各种查询的执行机制。

建议您认真学习如何去使用 EXPLAIN 命令,而不是凭空猜想。该命令会向您展示查询是如何被执行的;并深入地演示有关性能的真实表现情况,以及查询是如何伴随着数据量的变化进行扩展的。

像许多 MySQL Workbench 之类的工具都可以将 EXPLAIN 的输出可视化地展示给您,不过您仍然需要了解与它相关的基本知识。

EXPLAIN 命令的输出有两种不同的格式:老式的表格形式和较新的、能够提供更为细节化的、结构化的 JSON 文档。

如下所示:

mysql> explain format=json select avg(k) from sbtest1 where id between 1000 and 2000 \G *************************** 1. row *************************** EXPLAIN: { “query_block”: { “select_id”: 1, “cost_info”: { “query_cost”: “762.40” }, “table”: { “table_name”: “sbtest1”, “access_type”: “range”, “possible_keys”: [ “PRIMARY” ], “key”: “PRIMARY”, “used_key_parts”: [ “id” ], “key_length”: “4

转载于:https://www.cnblogs.com/syncnavigator/p/10189248.html

你可能感兴趣的文章
Java 文件下载
查看>>
图论——读书笔记 (深度优先搜索)
查看>>
PAT(B) 1014 福尔摩斯的约会(Java)
查看>>
PAT甲级题解-1123. Is It a Complete AVL Tree (30)-AVL树+满二叉树
查看>>
项目开发总结报告(GB8567——88)
查看>>
BZOJ1930: [Shoi2003]pacman 吃豆豆
查看>>
SSH加固
查看>>
端口扫描base
查看>>
iOS IM开发的一些开源、框架和教程等资料
查看>>
FansUnion:共同写博客计划终究还是“流产”了
查看>>
python 二维字典
查看>>
编译原理实验一
查看>>
Git for Android Studio 学习笔记
查看>>
pip 警告!The default format will switch to columns in the future
查看>>
Arrays类学习笔记
查看>>
实验吧之【天下武功唯快不破】
查看>>
2019-3-25多线程的同步与互斥(互斥锁、条件变量、读写锁、自旋锁、信号量)...
查看>>
win7-64 mysql的安装
查看>>
dcm4chee 修改默认(0002,0013) ImplementationVersionName
查看>>
maven3在eclipse3.4.2中创建java web项目
查看>>