当前位置: 首页 > news >正文

数据库其它调优策略

文章目录

  • 1. 优化MySQL服务器
  • 2. 优化数据库结构
    • 2.1 差分表:冷热数据分离
  • 3. 大表优化
    • 3.1 读/写分离
    • 3.2 垂直拆分
    • 3.3 水平拆分

1. 优化MySQL服务器

电商平台,双十一,CPU使用率达到99%,系统的计算资源已经耗尽,再也无法处理任何新的订单了。
这个时候,我们想到了对系统参数进行调整,一共调整3个系统参数,分别是

  • InnoDB_flush_log_at_trx_commit:默认为0,改为2,这样就不用每次提交事务的时候都启动磁盘读写了,而是每隔一秒
  • lnnoDB_buffer_pool_size:InnoDB存储引擎使用缓存来存储索引数据,可以加载到缓存区的索引和数据量就越多,需要的磁盘读写就越少。
  • lnnoDB_buffer _pool_instances:可以将InnoDB的缓存区分成几个部分,这样可以提高系统的并行处理能力,因为可以允许多个进程同时处理不同部分的缓存区。

2. 优化数据库结构

2.1 差分表:冷热数据分离

把1个包含很多字段的表拆分成2个或者多个相对较小的表,(热数掘):经常要进行查询或者更新操作。(冷数据):字段的使用频率却很低。冷热数据分离,可以减小表的宽度。查询是B+tree存放的索引和叶子节点的数据就少了,一次读取的就多了,性能就高了。

3. 大表优化

3.1 读/写分离

3.2 垂直拆分

垂直分库、垂直分表

  • 如果数据库中的数据表过多,可以采用垂直分库的方式,将关联的数据表部署在同一个数据库上。
  • 如果数据表中的列过多,可以采用垂直分表的方式,将一张数据表分拆成多张数据表,把经常一起使用的列放到同一张表里(冷热数据分离)

3.3 水平拆分

这里主要考虑业务数据的水平分表策略。将大的数据表按照某个属性维度分拆成不同的小表,每张小表保持相同的表结构。比如可以按照年份来划分,把不同年份的数据放到不同的数据表中。2017年、2018年和2019年的数据就可以分别放到三张数据表中。
在这里插入图片描述

下面补充一下数据库分片的两种常见方案:

  • 客户端代理:分片逻辑在应用端,封装在jar包中,通过修改或者封装JDBC层来实现。当当网的sharding-JDBC、阿里的TDDL是两种比较常用的实现。
  • 中间件代理:在应用和数据中间加了一个代理层。分片逻辑统一维护在中间件服务中。我们现在谈Mycat、360的Atlas、网易的DDB等等都是这种架构的实现。

相关文章:

数据库其它调优策略

文章目录 1. 优化MySQL服务器2. 优化数据库结构2.1 差分表:冷热数据分离 3. 大表优化3.1 读/写分离3.2 垂直拆分3.3 水平拆分 1. 优化MySQL服务器 电商平台,双十一,CPU使用率达到99%,系统的计算资源已经耗尽,再也无法…...

【AI认证笔记】NO.2人工智能的发展

目录 一、人工智能的发展里程碑 二、当前人工智能的发展特点 1.人工智能进入高速发展阶段 2.人工智能元年 三、人工智能高速发展的三大引擎 1.算法突破 2.算力飞跃 3.数据井喷 四、AI的机遇 五、AI人才的缺口 六、行业AI 人工智能算法,万物互联&#xff…...

Python与设计模式--观察者模式

23种计模式之 前言 (5)单例模式、工厂模式、简单工厂模式、抽象工厂模式、建造者模式、原型模式、(7)代理模式、装饰器模式、适配器模式、门面模式、组合模式、享元模式、桥梁模式、(11)策略模式、责任链模式、命令模式、中介者模…...

Elasticsearch底层原理分析——新建、索引文档

es版本 8.1.0 重要概念回顾 Elasticsearch Node的角色 与下文流程相关的角色介绍: Node Roles配置主要功能说明masternode.roles: [ master ]有资格参与选举成为master节点,从而进行集群范围的管理工作,如创建或删除索引、跟踪哪些节点是…...

ts实现合并数组对象中key相同的数据

背景 在平常的业务中,后端同学会返回以下类似的结构数据 // 后端返回的数据结构 [{ id: 1, product_id: 1, pid_name: "Asia", name: "HKG01" },{ id: 2, product_id: 1, pid_name: "Asia", name: "SH01" },{ id: 3, pro…...

C语言--根据成绩判断等级

一.题目描述 如果学生的成绩小于60分&#xff0c;那么输出不及格 如果学生的成绩大于60分小于85分&#xff0c;那么输出良好 如果学生的成绩大于85分&#xff0c;那么输出优秀 二.代码实现 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> //根据成绩打印等级 //scor…...

Rust多线程任务,发现有些线程一直获取不到锁【已解决】

问题描述 项目中用到rust&#xff0c;其中在多线程中用到了同一个对象的锁&#xff0c;然而发现其中一个线程一直拿不到这个锁。 解决过程 我先是在线程A中加入了sleep方法&#xff0c;这样做的效果就是&#xff0c;比最初好一些&#xff0c;但是拿到锁还是要较长时间&#xf…...

【区块链】产品经理的NFT初探

常见的FT如比特币&#xff08;BTC&#xff09;&#xff0c;以太币&#xff08;ETH&#xff09;等&#xff0c;两个代币之间是完全可替换的。而NFT具有唯一性&#xff0c;不可以互相替换。本文作者对NET的发展现状、相关协议、应用场景等方面进行了分析&#xff0c;一起来看一下…...

香港服务器减少延迟的几种方法

我们在租用香港服务器时&#xff0c;总觉得网站程序反应太慢。选择了香港服务器的开发商和企业对香港服务器目前的访问速度不满意 怎么办&#xff1f;第一点是换服务器。更换配置更大、带宽更高的服务器&#xff0c;可以更好的解决网站访问速度。如何减少香港服务器的延时 速度…...

PowerShell命令小记

1. 使用命令删除指定文件或文件夹 在 PowerShell 中&#xff0c;你可以使用 Remove-Item 命令递归删除文件夹下的指定文件。以下是一条命令的示例&#xff0c;该命令删除指定文件夹及其子文件夹中的所有 .txt 文件&#xff1a; Remove-Item -Path "D:\test" -Recur…...

C语言小练

目录 打印斐波那契数列指定位置的值 给定两个数&#xff0c;求这两个数的最大公约数 三个数从大到小输出 模拟用户登陆情况&#xff0c;且只能输如三次 采用二分法查找数组中的指定元素 打印输出九九乘法表 数一下1-100中所有整数出现多少个数字9 打印1-200之间的素数&…...

Webhook端口中的自签名身份验证

概述 有时&#xff0c;可能需要通过 Webhook 端口从交易伙伴处接收数据&#xff0c;但该交易伙伴可能需要更多的安全性&#xff0c;而不仅仅是用于验证入站 Webhook 请求的基本身份验证用户名/密码 – 或者您可能只想在入站 Webhook 消息上添加额外的安全层。 使用 Webhook 端…...

CSS预处理器(如Sass或Less):变量、嵌套规则和混合器等高级功能

在Vue项目中&#xff0c;可以使用CSS预处理器&#xff08;如Sass或Less&#xff09;来编写样式。 这些预处理器提供了一些高级功能&#xff0c;如变量、嵌套规则和混合器等。 1. 变量 在Sass中&#xff0c;我们可以使用$符号定义变量。这些变量方便我们在多个地方重复使用&a…...

【Linux】Linux第一个小程序 --- 进度条

&#x1f466;个人主页&#xff1a;Weraphael ✍&#x1f3fb;作者简介&#xff1a;目前正在学习c和Linux还有算法 ✈️专栏&#xff1a;Linux &#x1f40b; 希望大家多多支持&#xff0c;咱一起进步&#xff01;&#x1f601; 如果文章有啥瑕疵&#xff0c;希望大佬指点一二 …...

每日一练:约瑟夫生者死者小游戏

1. 问题描述 约瑟夫问题&#xff08;Josephus problem&#xff09;是一个经典的数学和计算机科学问题&#xff0c;源于犹太历史学家弗拉维奥约瑟夫斯&#xff08;Flavius Josephus&#xff09;的著作《犹太战记》。问题的描述如下&#xff1a;   在这个问题中&#xff0c;有n…...

双指针算法(题目与答案讲解)

文章目录 题目移动零复写零两数之和N数之和(>2个数) 答案讲解移动零复写零两数之和N数之和 题目 力扣 移动零 1、移动零:题目链接 复写零 2、复写零:题目链接 两数之和 3、两数之和题目链接 N数之和(>2个数) 4、N数之和(三个数、四个数) 三个数:题目链接 四个数题目链接…...

python服装电商系统vue购物商城django-pycharm毕业设计项目推荐

系统面向的使用群体为商家和消费者&#xff0c;商家和消费者所承担的功能各不相同&#xff0c;所对象的权限也各不相同。对于消费者和商家设计的功能如下&#xff1a; 对于消费者设计了五大功能模块&#xff1a; &#xff08;1&#xff09; 商品信息&#xff1a;用户可在商品…...

数据治理技术:研究现状与数据规范

随着信息技术的迅速发展,数据规模逐渐扩大&#xff0c;与此同时&#xff0c;劣质数据也随之而来&#xff0c;极大地降低了数据挖掘的质量&#xff0c;对信息社会造成了严重的困扰&#xff0c;劣质数据大量存在于很多领域和机构&#xff0c;国外权威机构的统计表明&#xff1a;美…...

一文彻底理解索引下推

了解索引下推吗&#xff1f;二级索引取出的数据是依次回表还是一次回表&#xff1f;索引下推是为了什么发明的&#xff1f; 看完这个文章你将知道上面的问题。 索引下推的概念 从MySQL5.6开始引入的一个特性,索引下推通过减少回表的次数来提高数据库的查询效率; 注意&#…...

Springboot3+vue3从0到1开发实战项目(一)

一. 可以在本项目里面自由发挥拓展 二. 知识整合项目使用到的技术 后端开发 &#xff1a; Validation, Mybatis,Redis, Junit,SpringBoot3 &#xff0c;mysql&#xff0c;Swagger, JDK17 &#xff0c;JWT&#xff0c;项目部署 前端开发&#xff1a; Vue3&#xff0c;Vite&am…...

录音会议纪要整理不同使用场景,实用口碑选择建议

针对不同场景的录音整理需求&#xff08;短录音、中长录音、长内容深度整理&#xff09;&#xff0c;本文基于实际使用体验&#xff0c;分享不同场景下的工具选择建议与使用心得。一、场景一&#xff1a;短录音&#xff08;15-60分钟&#xff0c;发音清晰&#xff09;典型场景&…...

PentestGPT实战部署指南:AI驱动的渗透测试工作流落地

1. 这不是另一个“AI安全”的概念玩具&#xff0c;而是一套能真正跑起来的渗透测试辅助工作流“PentestGPT”这个名字刚在GitHub上出现时&#xff0c;我第一反应是点开又关掉——过去三年里&#xff0c;我见过太多打着“AI渗透”旗号的项目&#xff1a;有的只是把ChatGPT API封…...

告别鼠标手!5分钟上手开源鼠标连点器MouseClick,轻松实现自动化点击

告别鼠标手&#xff01;5分钟上手开源鼠标连点器MouseClick&#xff0c;轻松实现自动化点击 【免费下载链接】MouseClick &#x1f5b1;️ MouseClick &#x1f5b1;️ 是一款功能强大的鼠标连点器和管理工具&#xff0c;采用 QT Widget 开发 &#xff0c;具备跨平台兼容性 。软…...

<背包问题>

背包问题是一类组合优化问题&#xff0c;其基本形式是给定一组物品&#xff0c;每个物品都有一个重量和一个价值&#xff0c;以及一个有限的背包容量&#xff0c;目标是在不超过背包容量的前提下&#xff0c;选择物品使得背包中的物品价值最大化。动态规划是解决背包问题的常用…...

淘宝淘金币自动化脚本终极指南:如何每天节省25分钟实现智能任务管理

淘宝淘金币自动化脚本终极指南&#xff1a;如何每天节省25分钟实现智能任务管理 【免费下载链接】taojinbi 淘宝淘金币自动执行脚本&#xff0c;包含蚂蚁森林收取能量&#xff0c;芭芭农场全任务&#xff0c;解放你的双手 项目地址: https://gitcode.com/gh_mirrors/ta/taoji…...

如何快速解锁艾尔登法环帧率限制:终极性能优化指南

如何快速解锁艾尔登法环帧率限制&#xff1a;终极性能优化指南 【免费下载链接】EldenRingFpsUnlockAndMore A small utility to remove frame rate limit, change FOV, add widescreen support and more for Elden Ring 项目地址: https://gitcode.com/gh_mirrors/el/EldenR…...

LPCM框架:大模型驱动的计算机架构设计革命

1. LPCM框架&#xff1a;计算机系统架构设计的范式革命计算机系统架构设计正站在历史性的转折点上。过去八十年来&#xff0c;从ENIAC的真空管到现代7纳米制程的异构计算芯片&#xff0c;架构设计始终遵循着"专家经验EDA工具"的传统范式。但随着摩尔定律逼近物理极限…...

2026论文顶级降AI率工具大曝光:一键把AIGC率降至安全线!

步入2026年&#xff0c;学术圈的规则已经彻底变了味。过去那种只盯着查重率的“降重焦虑”早就被更可怕的“降AI焦虑”取代了。AI检测算法越来越聪明&#xff0c;高校审核标准也越来越严苛&#xff0c;光是把重复率压下去已经完全不够用了。现在摆在学生和科研人员面前的难题是…...

告别手动复制!用这个自定义编辑器脚本一键备份/克隆Unity Terrain Data

告别手动复制&#xff01;用这个自定义编辑器脚本一键备份/克隆Unity Terrain Data在Unity关卡设计和技术美术的工作流中&#xff0c;地形数据的灵活复用往往意味着反复的手动操作——导出高度图、备份材质参数、复制植被分布&#xff0c;每个环节都可能成为效率瓶颈。想象这样…...

ModernWMS核心功能详解:从ASN入库到Dispatch出库的完整工作流

ModernWMS核心功能详解&#xff1a;从ASN入库到Dispatch出库的完整工作流 【免费下载链接】ModernWMS The open source simple and complete warehouse management system is derived from our many years of experience in implementing erp projects. We stripped the origin…...