莊將椿 发表于 2023-5-29 14:33:46

MySQL优化思路及方向

本系列为:MySQL数据库详解,为千锋资深教学老师独家创作,致力于为大家讲解清晰MySQL数据库相关知识点,含有丰富的代码案例及讲解。如果感觉对大家有帮助的话,可以【关注】持续追更~
文末有本文重点总结,技术类问题,也欢迎大家和我们沟通交流!
前言

从今天开始本系列文章就带各位小伙伴学习数据库技术。数据库技术是Java开发中必不可少的一部分知识内容。也是非常重要的技术。本系列教程由浅入深, 全面讲解数据库体系。 非常适合零基础的小伙伴来学习。
全文大约【1853】 字,不说废话,只讲可以让你学到技术、明白原理的纯干货!本文带有丰富案例及配图视频,让你更好的理解和运用文中的技术概念,并可以给你带来具有足够启迪的思考...
一. 优化介绍

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

MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。
可以看到Google,Facebook,Twitter,百度,新浪,腾讯,淘宝,网易,久游等绝大多数互联网公司数据库都是用的MySQL数据库,甚至将其作为核心应用的数据库系统。
我们知道一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,所以查询语句的优化显然是重中之重。
我们将这里进行一个较为全面的分析,让大家了解到MySQL的性能到底与哪些地方有关,以便于让大家寻找出其性能问题的根本原因,而尽可能清楚的知道该如何去优化自己的数据库。
2. 优化可能带来的问题

优化不总是对一个单纯的环境进行,还很可能是一个复杂的已投产的系统!
优化手段有很大的风险,一定要意识到和预见到!
任何的技术可以解决一个问题,但必然存在带来一个问题的风险!
对于优化来说调优而带来的问题,控制在可接受的范围内才是有成果。
保持现状或出现更差的情况都是失败!
3. 优化的需求

稳定性和业务可持续性,通常比性能更重要!
优化不可避免涉及到变更,变更就有风险!
优化使性能变好,维持和变差是等概率事件!
优化应该是各部门协同,共同参与的工作,任何单一部门都不能对数据库进行优化!
4. 优化由谁参与

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

在数据库优化上有两个主要方向:即安全与性能。
安全:数据安全性。
性能:数据的高性能访问。
本课程主要是在性能优化方向进行介绍。
6. 优化的维度


从上图中可以看出,我们把数据库优化分为四个纬度:硬件,系统配置,数据库表结构,SQL及索引。
硬件: CPU、内存、存储、网络设备等。
系统配置: 服务器系统、数据库服务参数等。
数据库表结构: 高可用、分库分表、读写分离、存储引擎、表设计等。
SQL及索引: sql语句、索引使用等。
从优化成本进行考虑: 硬件>系统配置>数据库表结构>SQL及索引。

从优化效果进行考虑: 硬件
页: [1]
查看完整版本: MySQL优化思路及方向