MySQL优化思路及方向

这篇具有很好参考价值的文章主要介绍了MySQL优化思路及方向。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本系列为:MySQL数据库详解,为千锋资深教学老师独家创作,致力于为大家讲解清晰MySQL数据库相关知识点,含有丰富的代码案例及讲解。如果感觉对大家有帮助的话,可以【关注】持续追更~

文末有本文重点总结,技术类问题,也欢迎大家和我们沟通交流!

前言

从今天开始本系列文章就带各位小伙伴学习数据库技术。数据库技术是Java开发中必不可少的一部分知识内容。也是非常重要的技术。本系列教程由浅入深, 全面讲解数据库体系。 非常适合零基础的小伙伴来学习。


全文大约【1853】 字,不说废话,只讲可以让你学到技术、明白原理的纯干货!本文带有丰富案例及配图视频,让你更好的理解和运用文中的技术概念,并可以给你带来具有足够启迪的思考...

一. 优化介绍

在进行优化讲解之前,郑重的和各位小伙伴说,本课程只是给大家提供一些优化方面的方向和思路,而具体业务场景的不同,使用的MySQL服务版本不同,都会使得优化方案的制定也不同。优化不存在按照某种方式去做就一定好用的绝对真理。

1. MySQL介绍

MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。

可以看到Google,Facebook,Twitter,百度,新浪,腾讯,淘宝,网易,久游等绝大多数互联网公司数据库都是用的MySQL数据库,甚至将其作为核心应用的数据库系统。

我们知道一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,所以查询语句的优化显然是重中之重。

我们将这里进行一个较为全面的分析,让大家了解到MySQL的性能到底与哪些地方有关,以便于让大家寻找出其性能问题的根本原因,而尽可能清楚的知道该如何去优化自己的数据库。

2. 优化可能带来的问题

优化不总是对一个单纯的环境进行,还很可能是一个复杂的已投产的系统!

优化手段有很大的风险,一定要意识到和预见到!

任何的技术可以解决一个问题,但必然存在带来一个问题的风险!

对于优化来说调优而带来的问题,控制在可接受的范围内才是有成果。

保持现状或出现更差的情况都是失败!

3. 优化的需求

稳定性和业务可持续性,通常比性能更重要!

优化不可避免涉及到变更,变更就有风险!

优化使性能变好,维持和变差是等概率事件!

优化应该是各部门协同,共同参与的工作,任何单一部门都不能对数据库进行优化!

4. 优化由谁参与

在进行数据库优化时,应由数据库管理员、业务部门代表、应用程序架构师、应用程序设计人员、应用程序开发人员、硬件及系统管理员、存储管理员等,业务相关人员共同参与。

5. 优化的方向

在数据库优化上有两个主要方向:即安全与性能。

安全:数据安全性。

性能:数据的高性能访问。

本课程主要是在性能优化方向进行介绍。

6. 优化的维度

MySQL优化思路及方向

从上图中可以看出,我们把数据库优化分为四个纬度:硬件,系统配置,数据库表结构,SQL及索引。

硬件: CPU、内存、存储、网络设备等。

系统配置: 服务器系统、数据库服务参数等。

数据库表结构: 高可用、分库分表、读写分离、存储引擎、表设计等。

SQL及索引: sql语句、索引使用等。

从优化成本进行考虑: 硬件>系统配置>数据库表结构>SQL及索引。

从优化效果进行考虑: 硬件<系统配置<数据库表结构<SQL及索引。

7. 数据库使用优化思路

在这里尽可能的全面介绍数据库的调优思路,但是在多数时候,我们进行调优不需要进行这么全面、大范围的调优,一般情况下,我们进行数据库层面的优化就可以了,那我们该如何调优的呢?

应急调优的思路:

针对突然的业务办理卡顿,无法进行正常的业务处理!需要立马解决的场景!

show processlist(查看链接session状态)。

explain(分析查询计划),show index from table(分析索引)。

通过执行计划判断,索引问题(有没有、合不合理)或者语句本身问题。

show status like '%lock%'; # 查询锁状态。

SESSION_ID; # 杀掉有问题的session。

常规调优的思路:

针对业务周期性的卡顿,例如在每天10-11点业务特别慢,但是还能够使用,过了这段时间就好了

查看slowlog,分析slowlog,分析出查询慢的语句。

按照一定优先级,进行一个一个的排查所有慢语句。

分析top sql,进行explain调试,查看语句执行时间。

调整索引或语句本身。


二. 结语

在这里对本文核心要点进行总结:

  1. 各位小伙伴要谨记优化前一定要备份各种数据规避各种风险再动手优化尤其是线上服务器。
  2. 根据优化的效果与思路进行优化,不断调整,优化没有一成不变的东西,具体问题具体分析。

三. 配套视频

如果你不习惯阅读技术文章,或是对文中的技术概念不能很好地理解,可以来看看帮你筛选出的视频教程。与本文配套的Java学习视频,戳我直达文章来源地址https://www.toymoban.com/news/detail-463078.html

到了这里,关于MySQL优化思路及方向的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Mysql数据库学习思路

    学习 MySQL(或其他数据库管理系统)需要一系列步骤和资源,以帮助您掌握数据库设计、查询语言(SQL)和数据库管理的基础知识。以下是一些建议的学习步骤: 学习数据库基础知识: 了解什么是数据库、数据库管理系统(DBMS)以及不同类型的数据库(如关系型数据库、

    2024年02月06日
    浏览(47)
  • mysql数据库优化

    数据库的性能调优和优化是指通过优化数据库结构、SQL语句的编写以及服务器硬件和操作系统等方面的配置,来提高数据库的响应速度和稳定性,以满足业务需求。 结合实际需求,从以下四个方面进行讲解。 一、数据库设计优化 二、SQL语句优化 三、索引优化 四、硬件和操

    2024年01月17日
    浏览(38)
  • 【性能优化】MySql数据库查询优化方案

    了解系统运行效率提升的整体解决思路和方向 学会MySQl中进行数据库查询优化的步骤 学会看慢查询、执行计划、进行性能分析、调优 ​关于这个问题,我们通常首先考虑的是硬件升级,毕竟服务器的内存、CPU、磁盘IO速度 、网络速度等都是制约我们系统快慢的首要因素。硬

    2024年02月03日
    浏览(59)
  • Mysql数据库结构优化汇总

         设计表以最大限度地减少其在磁盘上的空间。这可以减少写入磁盘和从磁盘读取的数据量,从而带来巨大的改进。较小的表通常需要较少的主内存,而它们的内容在查询执行过程中被主动处理。表数据的任何空间减少也会导致更小的索引可以更快地处理。 尽可能使用最

    2024年02月07日
    浏览(49)
  • 【MySQL 数据库】7、SQL 优化

    ① 批量插入数据 ② 手动控制事务 ③ 主键顺序插入,性能要高于乱序插入 主键乱序插入 : 8 1 9 21 88 2 4 15 89 5 7 3 主键顺序插入 : 1 2 3 4 5 7 8 9 15 21 88 89 【☆】 】 ① 如果需要一次性插入大批量数据(百万级别),使用 insert 语句插入性能 很低 ② 可使用 MySQL 数据库提供的 loa

    2024年02月08日
    浏览(60)
  • MySQL数据库的优化技术二

    纵论 对mysql优化时一个综合性的技术,主要包括  表的设计合理化(符合3NF) 添加适当索引(index)  [ 四种: 普通索引、主键索引、唯一索引unique、全文索引 ] 分表技术( 水平分割、垂直分割 ) 水平分割根据一个标准重复定义几个字段值相同,表名称不同的表,表的结构相同 读(

    2024年02月11日
    浏览(38)
  • MySQL数据库性能优化技巧介绍

    MySQL是目前最流行和广泛使用的开源关系型数据库之一,随着数据量的增长和访问负载的提高,优化数据库性能变得至关重要,以确保系统能够高效地处理大量的并发请求。本文将记录一些MySQL数据库性能优化的技巧,提高数据库的运行效率,提升系统性能。 对于MySQL,最简单

    2024年02月08日
    浏览(134)
  • MYSQL数据库故障排除与优化

    目录 MySQL 单实例故障排查 MySQL 主从故障排查 MySQL 优化 故障现象 1 ERROR    2002    (HY000):    Can\\\'t    connect    to    local    MySQL    server    through    socket \\\'/data/mysql/mysql.sock\\\' (2) 问题分析:以上这种情况一般都是数据库未启动或者数据库端口被防火墙拦截导致。 解

    2024年04月11日
    浏览(41)
  • MySQL数据库内存配置与性能优化:合理分配内存,提升数据库性能

             引言 :MySQL是广泛使用的关系型数据库管理系统,而合理配置数据库的内存是保障其高性能运行的关键之一.本文将介绍如何根据MySQL数据库内存值大小来定义,以及这样配置如何影响数据库的性能   内存配置的基本原则 : innodb_buffer_pool_size :该参数定义了InnoDB存储引擎

    2024年02月22日
    浏览(59)
  • 数据库——MySQL高性能优化规范

    所有数据库对象名称必须使用小写字母并用下划线分割 所有数据库对象名称禁止使用 MySQL 保留(如果表名中包含查询时,需要将其用单引号括起来) 数据库对象的命名要能做到见名识意,并且最后不要超过 32 个字符 临时库表必须以 tmp_为前缀并以日期为后缀,

    2024年02月11日
    浏览(104)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包