MySQL进阶_8.数据库其他调优策略

news2024/11/19 1:29:14

文章目录

  • 第一节、数据库调优的步骤
    • 1.1、选择合适的DBMS
    • 1.2、优化表设计
    • 1.3、优化逻辑查询
    • 1.4、优化物理查询
    • 1.5、使用 Redis 或 Memcached 作为缓存
    • 1.6、库级优化
  • 第二节、优化MySQL服务器
  • 第三节、优化数据库结构

第一节、数据库调优的步骤

1.1、选择合适的DBMS

  1. 如果对事务性处理以及安全性要求高的话,可以选择商业的数据库产品。这些数据库在事务处理和查询性能上都比较强,比如采用SQL Server、Oracle,那么单表存储上亿条数据是没有问题的。如果数据表设计得好,即使不采用分库分表的方式,查询效率也不差。
  2. 除此以外,你也可以采用开源的MySQL进行存储,它有很多存储引擎可以选择,如果进行事务处理的话可以选择lnnoDB,非事务处理可以选择MylSAM。
  3. NoSQL阵营包括键值型数据库文档型数据库搜索引擎列式存储图形数据库。这些数据库的优缺点和使用场景各有不同,比如列式存储数据库可以大幅度降低系统的IO,适合于分布式文件系统,但如果数据需要频繁地增删改,那么列式存储就不太适用了。

1.2、优化表设计

1.3、优化逻辑查询

SQL查询优化,可以分为逻辑查询优化物理查询优化。逻辑查询优化就是通过改变SQL语句的内容让SQL执行效率更高效,采用的方式是对SQL语句进行等价变换,对查询进行重写。

1.4、优化物理查询

物理查询优化是在确定了逻辑查询优化之后,采用物理优化技术(比如索引等), 通过计算代价模型对各种可能的访问路径进行估算,从而找到执行方式中代价最小的作为执行计划。在这个部分中,我们需要掌握的重点是对索弓|的创建和使用

1.5、使用 Redis 或 Memcached 作为缓存

常用的键值存储数据库有 Redis 和 Memcached,它们都可以将数据存放到内存中。

1.6、库级优化

库级优化是站在数据库的维度上进行的优化策略,比如控制一个库中的数据表数量。另外,单一的数据库总会遇到各种限制,不如取长补短,利用"外援"的方式。通过主从架构优化我们的读写策略,通过对数据库进行垂直或者水平切分,突破单一数据库或数据表的访问限制, 提升查询的性能。

  1. 读写分离
    如果读和写的业务量都很大,并且它们都在同一个数据库服务器中进行操作,那么数据库的性能就会出现瓶颈,这时为了提升系统的性能,优化用户体验,我们可以采用读写分离的方式降低主数据库的负载,比如用主数据库(master)完成写操作,用从数据库(slave) 完成读操作。
    在这里插入图片描述
    在这里插入图片描述
  2. 数据分片
    对数据库分库分表。当数据量级达到千万级以上时,有时候我们需要把一个数据库切成多份,放到不同的数据库服务器上,减少对单一数据库服务器的访问压力。如果你使用的是MySQL,就可以使用MySQL自带的分区表功能,当然你也可以考虑自己做垂直拆分(分库)水平拆分 (分表)垂直+水平拆分 (分库分表)
    在这里插入图片描述
    在这里插入图片描述

但需要注意的是,分拆在提升数据库性能的同时,也会增加维护和使用成本。

第二节、优化MySQL服务器

优化MySQL服务器主要从两个方面来优化,一方面是对 硬件进行优化;另一方面是对MySQL 服务的参数进行优化。这部分的内容需要较全面的知识,一般只有专业的数据库管理员才能进行这一类的优化。 对于可以定制参数的操作系统,也可以针对MySQL进行操作系统优化。

  • 优化MySQL参数这里,需要在配置文件中设置参数值,目前在公司里不需要开发人员做,所以以后用到再来学习。

第三节、优化数据库结构

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1226119.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++基础从0到1入门编程(三)

系统学习C 方便自己日后复习,错误的地方希望积极指正 往期文章: C基础从0到1入门编程(一) C基础从0到1入门编程(二) 参考视频: 1.黑马程序员匠心之作|C教程从0到1入门编程,学习编程不再难 2.系统…

腾讯云服务器带宽计费模式_按流量和带宽收费说明

腾讯云服务器带宽计费模式分为“按带宽计费”和“按使用流量”两种计费模式:按带宽计费是预付费,一次性购买固定带宽值,先付费;按使用流量计费是先使用后付费,根据云服务器公网出方向实际产生流量来计算。如何选择带宽…

腾讯云CVM服务器标准型/高IO/计算/大数据使用场景及选择说明

腾讯云CVM服务器多种机型使用场景说明,如标准型、内存型、高 IO 型、计算型、大数据型、异构型和批量型,腾讯云百科txybk.com分享不同CVM实例规格配置适合使用场景说明: 腾讯云CVM云服务器 标准型:适合中小型 Web 应用、中小型数据…

腾讯云服务器价格计算器真心好用,推荐给大家!

腾讯云服务器价格计算器可以一键计算出云服务器的精准报价,包括CVM实例规格价格、CPU内存费用、公网带宽收费、存储系统盘和数据盘详细费用,腾讯云百科txybk.com分享腾讯云价格计算器链接入口、使用方法说明: 腾讯云服务器价格计算器 打开腾…

大模型是怎么知道 “我赚了200万” 的?

今天在和 chatGPT 聊天时,我说“我赚了200万”,他立刻就根据这句话给我了一句。 我当然没有赚到200万,只是想引出一个话题:“大模型是如何识别出这句话,又是怎么知道该回答什么的呢?" 在学习自然语言…

Linux(4):Linux文件与目录管理

目录与路径 相对路径在进行软件或软件安装时非常有用,更加方便。利用相对路径的写法必须要确认目前的路径才能正确的去到想要去的目录。 绝对路径的正确度要比相对路径好,因此,在写程序(shell scripts)来管理系统的条…

苍穹外卖项目笔记(3)——员工管理

前言 这些功能都没有展示对应的测试结果,可自行通过接口文档进行测试,也可以进行前后端联调测试,附代码链接:take-out 1新增员工 1.1 需求分析和设计 产品原型 接口设计 【注】code:操作成功返回1,否则…

腾讯云服务器云硬盘存储三副本消除单点故障

腾讯云服务器造可靠性处于业界领先水平的云服务器,云服务器CVM可靠性单实例99.975%,数据可靠性99.9999999%,云硬盘采用三副本专业存储策略,消除单点故障,保证数据可靠性,腾讯云百科txybk.com分享腾讯云服务…

【数据挖掘 机器学习 | 时间序列】时间序列必备工具箱: 自相关与偏相关检验

🤵‍♂️ 个人主页: AI_magician 📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。 👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!&…

Windows10 MYSQL Installer 安装(mysql-installer-community-5.7.19.0.msi)

分类 编程技术 1.进入官网找到自己所需的安装包:https://dev.mysql.com/ ,路径:DOWNLOAD-->MYSQL Community Edition(GRL)-->MYSQL on Windows (Installer & Tool) 或直接点击 MySQL :: Download MySQL Installer 查看最新版本。…

linux在非联网、无网络环境下,使用yumdownload、reportrack方法安装rpm包

文章目录 前言1、下载yum-utils​​2、yumdownloader3、repotrack4、区别:总结 前言 当开发者在联网环境下使用Linux时,可以轻松地通过yum或apt-get安装软件。然而,在公司和企业中,由于安全原因,生产环境通常无法访问…

【Maven教程】(十一):使用 Maven 构建 Web应用 —— 使用 jetty-maven-plugin 进行测试、使用 Cargo 实现自动化部署~

Maven 使用 Maven 构建 Web应用 1️⃣ Web 项目的目录结构2️⃣ account-service2.1 account-service的 POM2.2 account-service 的主代码 3️⃣ account-web3.1 account-web 的POM3.2 account-web 的主代码 4️⃣ 使用 jetty-maven-plugin 进行测试5️⃣ 使用 Cargo 实现自动…

永久关机windows系统自动更新

1、打开cmd执行 reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v FlightSettingsMaxPauseDays /t reg_dword /d 3000 /f2、设置,打开windows更新高级选项 修改暂停日期,可长达十年。 3、你小子

振南技术干货集:CPU,你省省心吧!(2)

注解目录 1、石油测井仪器 1.1 背景知识 (了解一下石油行业。石油到底是怎么找到的?) 1.2 测井数据采传的实现 1.2.1 最直接的初级方案 1.2.2 加入 DMA 的优化方案 (看看一般工程师与高手在技术实现上到底有什么区别。充分…

[Linux] PXE批量装机

一、PXE批量装机简介 1.1 常见的三种系统安装方式 u启动安装:在U盘中下载相关的安装系统及镜像文件,u盘插机安装 光驱安装:将带有所需系统的光盘放进电脑服务器中,按照官方引导装机 网络下载安装:在网上下载相关镜…

【数据挖掘 机器学习 | 时间序列】时间序列必学模型: ARIMA超详细讲解

🤵‍♂️ 个人主页: AI_magician 📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。 👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!&…

获取文章分类详情

CategoryController GetMapping("/detail")public Result<Category> detail(Integer id){Category c categoryService.findById(id);return Result.success(c);} CategoryService //根据id查询分类信息Category findById(Integer id); CategoryServiceImpl …

谈谈 MySQL 事务隔离级别

程序员的公众号&#xff1a;源1024&#xff0c;获取更多资料&#xff0c;无加密无套路&#xff01; 最近整理了一份大厂面试资料《史上最全大厂面试题》&#xff0c;Springboot、微服务、算法、数据结构、Zookeeper、Mybatis、Dubbo、linux、Kafka、Elasticsearch、数据库等等 …

MATLAB画图分辨率、图像大小研究

MATLAB画图分辨率、图像大小研究 Figure属性中 InnerPosition Position OuterPosition区别画图与打印的分辨率和图像大小研究首先明确两个概念&#xff1a;MATLAB实操画图 Figure属性中 InnerPosition Position OuterPosition区别 在画图的时候&#xff0c;我们经常需要设置Fi…