MySQL: 服务器性能优化全面指南:参数配置与数据库设计的最佳实践

MySQL/Oracle数据库优化总结(非常全面) 阅读详情

服务器参数基础配置

MySQL的性能受服务器参数配置显著影响。系统存在450+可配置参数,大部分可保留默认值,但关键参数需根据硬件规格、应用类型、数据量及负载特征调整。

MySQL性能受服务器参数配置影响显著,错误配置可导致崩溃或性能下降。

1 ) 关键要点:

  • 参数作用域:分为全局参数(影响整个服务器)和会话参数(仅影响当前连接)。
  • 配置冲突处理:MySQL按顺序读取配置文件(如 /etc/my.cnf、/etc/mysql/my.cnf),后读取的参数覆盖前值。若修改未生效,需检查多位置重复配置。

2 ) 配置方式:

  • 命令行参数(临时生效,如 mysqld --datadir=/var/lib/mysql)
    # 全局参数:影响所有会话
    SET GLOBAL variable_name = value;  -- 等效 SET @@GLOBAL.variable_name = value;
    
    # 会话参数:仅影响当前连接
    SET SESSION variable_name = value;  -- 等效 SET @@SESSION.variable_name = value;
    
    • 作用域特性:未显式设置的会话参数继承全局值。全局参数变更仅对新会话生效,已存在会话需重连或单独设置会话级参数
  • 示例:连接超时参数调整
    -- Session 1:调整全局参数
    SET GLOBAL wait_timeout = 3600, interactive_timeout = 3600;
    
    -- Session 2(调整前已连接):参数未更新 
    SHOW VARIABLES LIKE '%timeout%';  -- 仍为原值(如28800秒)
    
    -- 解决方案:重连Session 2或单独设置其会话参数 
    
  • 更多动态调整示例:
    -- 全局参数设置(需管理员权限)  
    SET GLOBAL max_connections = 2000; # 等价于 SET @@GLOBAL.max_connections = 2000;  
    
    -- 会话参数设置(仅当前连接生效)  
    SET SESSION wait_timeout = 3600; # 等价于 SET @@SESSION.wait_timeout = 3600;  
    
  • 生效范围:全局参数修改仅对新连接生效,已存在连接需重启或单独设置会话参数。

注意:生产环境避免命令行临时配置,优先使用配置文件

修改参数时需注意:

  • 高风险操作:错误配置可能导致服务崩溃或性能劣化,需由专业DBA处理。
  • 配置覆盖原则:MySQL按顺序读取配置(命令行→配置文件),后续配置覆盖前序冲突项。常见配置失效源于多位置重复定义。
  • 配置文件路径:
    # 查询配置读取顺序 
    $ mysqld --verbose --help | grep -A 1 "Default options"
    
    • Debian系统:/etc/mysql/my.cnf
    • CentOS系统:/etc/my.cnf
    • 用户目录:~/.my.cnf(隐藏文件)

参数作用域与动态调整

类型配置命令(MySQL客户端内执行)生效范围
全局参数SET GLOBAL max_connections=200;新会话生效
会话参数SET SESSION sort_buffer_size=4M;当前会话立即生效

关键注意:

  • 全局参数修改需重启会话才能对新连接生效(MySQL 5.7+ 部分参数支持热更新)
  • 避免滥用全局配置:连接级缓存(如排序缓存)会预分配全额内存,过量全局设置易引发内存溢出

注意事项:

  • 全局参数修改对新会话生效,已建立会话需重连或同步设置会话级参数。
  • MySQL 5.7+支持部分参数运行时热更新(如SET PERSIST)。

内存配置关键参数

内存分配直接影响性能,需平衡连接数与缓存效率

核心参数清单:

参数作用风险说明
sort_buffer_size单线程排序缓冲区一次性分配全部内存,过大导致内存碎片
join_buffer_size表关联缓冲(每关联分配一个)多表关联时叠加消耗
read_buffer_size全表扫描读缓冲需为4KB倍数
key_buffer_sizeMyISAM索引缓冲(仅缓存索引)数据缓存依赖OS

线程级内存参数(每个连接独占)

  • sort_buffer_size:排序缓冲区大小,过大导致内存溢出(如100MB × 100连接 = 10GB)。
  • join_buffer_size:表关联缓冲区,多表关联时可能分配多个缓冲。
  • read_buffer_size:全表扫描读缓冲,需为4KB倍数(默认128KB)。
  • read_rnd_buffer_size:索引扫描缓冲,按需分配。

计算公式

  • 总线程内存 ≈ (sort_buffer_size + join_buffer_size + read_buffer_size) × max_connections
  • 单连接内存消耗 ≈ sort_buffer_size + join_buffer_size * N + read_buffer_size + read_rnd_buffer_size
    (N为查询关联表数量)
  • 最大内存占用 = (sort_buffer_size + join_buffer_size × 关联表数 + read_buffer_size + read_rnd_buffer_size) × 最大连接数

引擎级内存参数

  • innodb_buffer_pool_size: InnoDB核心缓存(建议占物理内存75%)。存储索引、数据、锁等,显著减少磁盘I/O。
    -- 建议配置公式 
    SET GLOBAL innodb_buffer_pool_size = {总内存} - ({单连接内存} * {最大连接数}) - {系统预留};
    # 或 innodb_buffer_pool_size = 总内存 - (OS预留内存 + 其他服务内存 + 线程内存×连接数)  
    -- 动态调整(需MySQL 5.7+)  
    SET GLOBAL innodb_buffer_pool_size = 64424509440; -- 60GB  
    
    • 约束:超过实际数据+索引大小时无增益,5.7+支持动态调整

MyISAM键缓冲:

SET GLOBAL key_buffer_size = {value};  
  • 专用性:仅缓存索引,数据依赖OS缓存
  • 系统表:MySQL系统表仍用MyISAM,需保留最小分配
  • key_buffer_size: MyISAM索引缓存(默认8MB),系统表(如 mysql.user)依赖此缓存。
  • 存储内容:数据页、索引、自适应哈希、锁结构
  • 推荐值:专用服务器可达物理内存75%
  • 注意:
    • 数据量小于缓冲池时无需过量分配
    • MySQL 5.7调整需重启服务
    • 过大缓冲池导致服务关闭缓慢(脏页回写耗时)

索引空间查询:

SELECT ENGINE, SUM(INDEX_LENGTH) AS TotalIndexSize 
FROM INFORMATION_SCHEMA.TABLES 
WHERE ENGINE='MyISAM' 
GROUP BY ENGINE;

内存分配原则:

  1. 上限控制:配置内存总量不可超过物理内存(尤其警惕32位系统限制单个进程≤3GB)。
  2. 连接级内存:排序缓冲、连接缓冲等按连接分配,高并发时易引发OOM。
  3. 预留系统内存:确保OS及其他进程内存需求。
  4. 专用服务器部署:避免多实例竞争内存/IO资源。
  5. 计算缓冲池大小:
    InnoDB缓冲池 ≈ 总内存 - (线程内存 × max_connections) - 系统预留  
    

缓冲池配置策略:

  • InnoDB缓冲池:
    -- 计算建议值(专用服务器)  
    总内存 - (每个连接内存 × max_connections) - 系统预留 ≥ innodb_buffer_pool_size  
    
    • 建议占物理内存≥75%(仅InnoDB表场景),但需预留OS及其他进程内存。
    • 超配警告:超过实际数据+索引大小时无收益。
  • MyISAM缓冲池:
    -- 查询MyISAM索引总大小  
    SELECT SUM(INDEX_LENGTH) FROM information_schema.TABLES WHERE ENGINE = 'MyISAM';  
    
    -- 查看索引大小 
    SELECT SUM(index_length) FROM information_schema.TABLES WHERE ENGINE='MyISAM';
    
    • 系统表必配:mysql系统库采用MyISAM引擎
    • 内存分配:仅缓存索引,数据依赖OS缓存

I/O优化参数详解

InnoDB引擎配置

参数建议值作用
innodb_log_file_size≥1GB事务日志大小(总大小=文件数×单文件大小)
innodb_file_per_tableON启用独立表空间,便于管理
innodb_log_files_in_group默认2,无需修改日志文件数量
innodb_log_buffer_size32MB~128MB日志缓冲区大小
innodb_flush_log_at_trx_commit2日志刷盘策略:
1=每次提交刷盘(安全)
2=每秒刷盘(平衡)
innodb_flush_methodO_DIRECTLinux系统禁用OS缓存,避免双缓冲
innodb_doublewriteON启用双写缓冲防页断裂(性能损失<10%)

InnoDB引擎优化

  • 事务日志:
    • innodb_log_file_size:单个日志文件大小(建议1-4GB)。
    • innodb_log_files_in_group:日志文件数量(默认2)。
    • 总日志大小 = 文件大小 × 文件数,应容纳1小时事务量。
  • 刷盘策略:
    • innodb_flush_log_at_trx_commit:
      • 1(默认):每次事务提交刷盘(最安全,性能最低)。
      • 2:写OS缓存,每秒刷盘(折衷方案)。
      • 0:每秒刷盘(可能丢失1秒内事务)。
    # my.cnf 配置示例  
    innodb_flush_log_at_trx_commit = 2  
    innodb_log_file_size = 2G  
    
  • 其他关键参数:
    • innodb_flush_method=O_DIRECT:跳过OS缓存,减少双重缓冲(Linux推荐)。
    • innodb_file_per_table=ON:每表独立表空间(便于管理)。
    • innodb_doublewrite=ON:防止页断裂(牺牲5-10%性能换数据安全)启用双写缓冲防数据损坏
  • 双写缓冲必要性:避免16KB页写入不完整导致数据损坏,性能损耗可接受

MyISAM引擎优化

# 写入优化
delay_key_write = ALL    # 对所有MyISAM表启用延迟键写入
  • 风险:服务器崩溃可能导致索引损坏
  • delay_key_write:延迟索引写入(提升写性能):
    • OFF:每次写操作刷盘(安全)。
    • ON:仅缓冲池满时刷盘(崩溃需修复索引)。
    REPAIR TABLE myisam_table; -- 索引损坏后修复  
    

MyISAM引擎配置

delay_key_write = OFF  -- 关闭延迟键写入(安全优先)  

风险:启用延迟写入时宕机可能导致索引损坏,需修复:

REPAIR TABLE damaged_table;  

安全关键参数配置

参数推荐配置作用
expire_logs_days7Binlog保留天数(覆盖至少两次全备周期)
max_allowed_packet32M最大数据包大小(主从需一致)
skip_name_resolveON禁用DNS解析,加速连接并防DNS故障
sysdate_is_nowON确保SYSDATE()与NOW()行为一致
read_onlyON (从库)禁止非SUPER用户写操作(主从隔离)
sql_mode严格控制示例严格模式:
STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,ONLY_FULL_GROUP_BY

sql_mode详解:sql_mode 设置SQL语法检查规则(默认宽松),常用选项解析:

模式选项作用
STRICT_TRANS_TABLES事务表数据插入失败时终止操作
NO_ENGINE_SUBSTITUTION禁用默认引擎替换(建表引擎不可用则失败)
NO_ZERO_DATE禁止插入0000-00-00日期
NO_ZERO_IN_DATE拒绝含零值的部分日期(如2023-00-01)
ONLY_FULL_GROUP_BY强制GROUP BY包含所有非聚合列
  • STRICT_TRANS_TABLES:事务引擎非法值拒写
  • NO_ZERO_IN_DATE:禁止’0000-00-00’日期
  • ONLY_FULL_GROUP_BY:GROUP BY必须包含所有非聚合列

警告:修改 sql_mode 可能导致应用报错,需充分测试。

其他关键参数与优化建议

参数推荐值作用
sync_binlog1 (主库)每次提交刷Binlog(保证主从一致)
tmp_table_size64M内存临时表上限(与max_heap_table_size一致)
max_connections2000+最大连接数(默认100过低)
  • sync_binlog=1:每次事务提交刷Binlog(主库必备,保证复制安全)。
  • tmp_table_size & max_heap_table_size:内存临时表上限(默认16MB,超限转磁盘)。
  • max_connections=2000:最大连接数(避免连接耗尽)。

配置优先级:

  1. SQL优化(索引/语句) > 2. 参数调整 > 3. 硬件升级。

数据库设计对性能的影响

  • 过度反范式化:宽表(>50列)增加解析成本,建议拆表。
    • 问题:超宽表(>50列)导致行解析开销激增(尤其MyISAM/InnoDB格式转换)。
    • 方案:按业务拆分表,控制单表列数≤30。
  • 过度范式化:多表关联(>10个)显著降低性能,适当冗余字段。
    • 问题:多表关联(>10)性能指数级下降(MySQL关联上限61表)。
    • 方案:适当反范式化,高频关联字段冗余。
  • 分区表陷阱:
    • 问题:OLTP中慎用,分区键选择不当致跨分区查询。
    • 适用场景:日志表(按时间分区)、AP系统冷热分离。
    • OLTP慎用,错误分区键导致跨分区查询。
      -- 时间分区表示例  
      CREATE TABLE logs (  
        id INT,  
        log_time DATETIME  
      ) PARTITION BY RANGE (YEAR(log_time)) (  
        PARTITION p0 VALUES LESS THAN (2025)  
      );  
      
  • 外键约束:
    • 问题:校验开销大,TRUNCATE失效,主从维护复杂。
    • 替代方案:禁用(InnoDB外键检查引发锁竞争),改用应用层校验,应用层约束+关联索引。
      -- 禁用外键约束示例 
      ALTER TABLE orders DROP FOREIGN KEY fk_user_id;  
      -- 保留关联索引 
      ALTER TABLE orders ADD INDEX idx_user_id (user_id); 
      
      -- 替代外键的索引示例  
      CREATE INDEX fk_order_user ON orders(user_id);  
      

补充代码示例

原生SQL操作

-- 查看当前内存配置  
SHOW VARIABLES LIKE '%buffer%';  

-- 查询当前运行参数
SHOW GLOBAL VARIABLES LIKE 'innodb%';

-- 检查双写缓冲状态
SHOW STATUS LIKE 'Innodb_dblwr%';
 
-- 动态调整InnoDB缓冲池(需重启生效)  
SET GLOBAL innodb_buffer_pool_size = 21474836480;  -- 20GB  
 
-- 在线修改连接数(会话级测试)  
SET GLOBAL max_connections = 2000;  

NestJS配置集成

// database.providers.ts  
import { Provider } from '@nestjs/common';  
import { createPool } from 'mysql2/promise';  
 
export const databaseProviders: Provider[] = [  
  {  
    provide: 'DB_CONNECTION',  
    useFactory: async () => {  
      return createPool({  
        host: process.env.DB_HOST,  
        user: process.env.DB_USER,  
        password: process.env.DB_PASSWORD,  
        database: process.env.DB_NAME,  
        connectionLimit: 2000,  // 对齐max_connections  
        timezone: 'Z',  
        supportBigNumbers: true,  
        waitForConnections: true,  
      });  
    },  
  },  
];  

// app.module.ts  
import { Module } from '@nestjs/common';  
import { databaseProviders } from './database.providers';  
 
@Module({  
  providers: [...databaseProviders],  
  exports: [...databaseProviders],  
})  
export class DatabaseModule {}  

或参考下面配置

// app.module.ts 
@Module({
  imports: [
    TypeOrmModule.forRoot({
      type: 'mysql',
      host: 'localhost',
      port: 3306,
      username: 'root',
      password: 'secure_password',
      database: 'main_db',
      synchronize: false,
      extra: {
        // 连接级参数设置
        connectionLimit: 100,
        wait_timeout: 3600,
      },
      poolSize: 50,  // 连接池大小 
    })
  ]
})

动态设置会话参数(TypeScript)

import { Injectable } from '@nestjs/common';  
import { DataSource } from 'typeorm';  
 
@Injectable()  
export class QueryOptimizerService {  
  constructor(private dataSource: DataSource) {}  
 
  async setSessionParams(connectionId: string): Promise<void> {  
    const queryRunner = this.dataSource.createQueryRunner();  
    await queryRunner.connect();  
    await queryRunner.query(`SET SESSION sort_buffer_size = 8*1024*1024`); // 8MB  
    await queryRunner.query(`SET SESSION join_buffer_size = 4*1024*1024`);  // 4MB  
    await queryRunner.release();  
  }  
}  

优化优先级总结

内存分配:

  • 专用服务器优先保障innodb_buffer_pool_size
  • 线程级参数避免盲目增大(sort_buffer_size等)

I/O平衡:

  • 事务日志总容量 ≥ 1小时业务量
  • Linux环境必设innodb_flush_method=O_DIRECT

优化顺序与关键行动:

优化阶段核心行动
1. 结构与SQL优化索引优化、查询重写、范式/反范式平衡
2. 参数配置内存分配(缓冲池/线程)、I/O策略(刷盘频率)、安全设置(Binlog/SQL模式)
3. 存储引擎InnoDB优先、分区表慎用
4. 系统与硬件专用服务器、SSD磁盘、内存扩容

关键参数配置对应关系

配置文件参数MySQL变量NestJS配置项
二进制日志保留expire_logs_daysN/A (需SQL设置)
从库只读控制read_only读写分离中间件配置
连接数限制max_connectionsconnectionLimit
内存临时表tmp_table_sizeORM层缓存策略调整

优化权重排序(影响度降序)

  1. 数据库结构与SQL优化:

    • 表结构设计/索引优化/SQL重写(持续进行)
    • 性能提升效果占比>60%
  2. 存储引擎与参数配置:

    • 引擎选型(避免混用)/内存分配优化
    • 配置项示例:innodb_buffer_pool_size、query_cache_size
  3. 系统层与硬件升级:

    • 仅当硬件瓶颈无法通过软件优化解决时启动

黄金准则:200GB内存服务器无法通过优化替代硬件升级,需平衡软硬件能力。

按性能收益降序:

  1. 数据库设计与SQL优化(持续过程):
    • 表结构、索引、查询重写
  2. 存储引擎与参数配置:
    • 内存池配置 > I/O策略 > 安全设置
  3. 系统与硬件升级:
    • 内存扩容 > SSD升级 > CPU优化

原则:

  • 持续迭代:SQL优化需随应用迭代持续进行。
  • 参数谨慎调整:全局参数修改后验证新连接行为。
  • 监控驱动:使用 SHOW STATUS、SHOW VARIABLES 监控瓶颈。

关键原则:生产环境避免多实例混部,修改核心参数需评估连接数峰值与数据增长趋势。参数优化本质是安全性、性能、资源消耗的三方平衡。

核心原则:参数无银弹配置,必须基于真实负载测试调整。设计优化收益远高于硬件投入。

终极建议:80%性能问题源于SQL与索引,优先优化此部分再调整参数!

MySQL常见的几种优化方案 注:原始资料来自享学课堂,自己加上整理和思考 思考sql优化的几个地方,我把他做了个分类,方便理解 select [字段 优化1] from [表格 优化2] where [条件 优化3] union [联合查询 优化4] 新建表格 CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键', `name` varchar(50) DEFAULT NULL COMMENT '姓名', 阅读详情

相关推荐

常用的MySQL 优化方法

数据库优化一方面是找出系统的瓶颈,提高MySQL数据库的整体性能,而另一方面需要合理的结构设计和参数调整,以提高用户的相应速度,同时还要尽可能的节约系统资源,以便让系统提供更大的负荷。

Java+GO+JS全栈工程师-鹤冲天的博客:编程辅导~商务合作~技术交流 2678

实践中如何优化MySQL(精)

目录 ① SQL语句及索引的优化 SQL语句的优化: 1、尽量避免使用子查询 ​2、避免函数索引 3、用IN来替换OR 4、LIKE前缀%号、双百分号、_下划线查询非索引列或*无法使用到索引,如果查询的是索引列则可以 5、读取适当的记录LIMIT M,N,而不要读多余的记录 6、避免数据类型不一致 7、分组统计可以禁止排序sort,总和查询可以禁止排重用union all 8、...

张花生的博客 5万+

MySQL数据库性能优化实战指南

🔧 性能优化 ≠ 盲目调参🧩 真正的力量,来自于对机制的理解🎯 每一次SQL变快,都是你与MySQL达成的一次默契对话愿你写的每一条SQL,都能被优雅执行 ✨。

weixin_35871529的博客 879

MySQL数据库优化的八种方式(经典必看)

MySQL/Oracle数据库优化总结(非常全面) 置顶2017年08月21日 21:05:30 阅读数:8442 MySQL数据库优化的八种方式(经典必看) 引言: 关于数据库优化,网上有不少资料和方法,但是不少质量参差不齐,有些总结的不够到位,内容冗杂 偶尔发现了这篇文章,总结得很经典,文章流量也很大,所以拿到自己的总结文集中,积累优质文章,提升个人能力,希望对大家今后开发中也有帮助 1、选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是.

repoman的博客 3万+

手把手教你用Simulink搭建BPSK调制解调系统(附完整参数设置与波形分析)

本文详细指导如何使用Simulink搭建BPSK调制解调系统,涵盖从理论到实践的全流程,包括参数设置、模块连接和波形分析。重点解析调制解调中的关键参数和常见问题,如带通滤波器设计、载波同步等,帮助读者快速掌握BPSK系统的实现与调试技巧。

weixin_27741699的博客 426

Clock Gating设计陷阱:为什么你的ICG cell总是导致setup violation?(附解决方案)

本文深入分析了数字IC设计中ICG(Integrated Clock Gating)单元导致setup时序违规的常见问题,包括时钟偏斜和数据路径过长两大核心原因。通过量化分析影响因素,提供了逻辑重组、寄存器重定时等优化策略,并介绍了预防性设计方法和物理实现阶段的优化技巧,帮助工程师有效解决ICG相关的setup violation问题。

weixin_29168153的博客 207

Mysql 优化的几种方法

MySQL优化是指通过调整MySQL的各项参数和配置,以及优化SQL语句的编写和执行,提高MySQL系统的性能和可用性。MySQL优化的主要目标是尽可能快地响应用户请求,提高系统的处理能力和并发性能,减少资源消耗和硬件成本。MySQL优化涉及多个方面,包括:1.硬件配置:包括CPU、内存、磁盘等硬件资源的选择和配置,以满足系统的负载和性能需求。2.软件配置:包括MySQL的参数设置和调整,如缓存大小、连接数、并发处理数等,以适应不同的负载和访问模式。

兴趣是最好的老师,勤能补拙 7102

R语言灰色关联分析法

输入数据并用DT包的datatable函数展示数据 ABDDEF分别对应第1到第6个供应商产品质量、技术水平、供应能力、经济效益、交货情况、市场影响度指标属于效益型指 产品价格、地理位置、售后服务指标属于成本型指标。现分别对上述指标进行规范化: 对于效益型指标(正项指标)标准化公式为: x∗=x−min(x)max(x)−min(x) x^{\ast}=\frac{x-min\left( x \right)}{max\left( x \right) -min\left( x \right)} x∗=max

qq_54423921的博客 7998

Mysql的sql优化方法

Mysql的sql优化方法 1、选择最合适的字段属性 Mysql是一种关系型数据库,可以很好地支持大数据量的存储,但是一般来说,数据库中的表越小,在它上面执行的查询也就越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度舍得尽可能小。 例如:在定义邮政编码这个字段时,如果将其设置为char(255),显然给数据库增加了不必要的空间,甚至使用varchar这种类型也是多余的,因为char(6)就可以很好地完成了任务。同样的如果可以的话,我们应该是用MEDIUMINT而不是BIGINT来定

qq_41466437的博客 2184

echarts如何实现3D饼图(环形图)?

自定义修改3D饼图的宽高和legend

i-cat的博客 1万+

ESD 防护深度解析:模型、等级、系统设计与防护策略

本文系统阐述了静电放电(ESD)防护的核心技术体系。首先对比分析了HBM(人体模型)和CDM(充电设备模型)两种基础ESD模型的物理特性、测试标准及分级要求,指出相同电压下CDM的破坏性是HBM的15-20倍。其次详细解析了IEC61000-4-2系统级ESD标准,包括接触/空气放电测试方法及判定等级。重点提出了系统级防护的三层架构:空间隔离(≥10mm间距)、电气隔离(地平面分割)和TVS管选型(响应时间<1ns),并对比了MOV、SCR等防护器件特性。针对不同应用场景(消费电子、工业控制等)给出了差异化

bother3000的博客 1886

MySQL服务器参数配置

本文是笔者整理了慕课网的《全面讲解MySQL架构设计》的第二章内容,提取出来的博客,方便在实际生产用按照属性条目,一条条进行配置和调优。 课程链接:https://coding.imooc.com/class/chapter/49.html#Anchor MySQL服务器参数介绍 mysql参数介绍(客户端中执行),尽量只修改session级别的参数。 全局参数(新连接的session才会...

全菜工程师小辉的博客 2551

基于OSPF技术的某企业网络设计(完整文档+ENSP拓扑图)

主要对网络规划与设计,以企业网络为背景,对某个中型企业网络进行规划设计,该企业总部在南京,在常州有一个分公司,需要实现总部和分公司能够访问外网,能够让分公司内的用户或主机访问总部服务器的资源,并且保证数据的安全性。在这次总部企业网络设计中,考虑到资金的问题,核心层部署2台核心三层交换机,负责转发总部内部用户的流量,并充当内部用户网关,能够实现内部不同网段的用户之间的连通性。对于一些对网络比较敏感的企业或用户,对网络的要求较高,对于网络的稳定性和安全性也有较高的要求。

qq1325513482的博客 2万+

MySQL相关参数配置及性能优化

性能优化顺序数据库结构设计和SQL语句;(这一优化可能会随着业务的升级,需要持续地进行优化)数据库存储引擎的选择和参数的配置;系统选择及优化;硬件升级;锁主要作用是管理共享资源的并发访问;锁用于实现事务的隔离性;锁的分类共享锁(也称读锁)独占锁/排他锁(也称写锁 )同一个数据,可以多个同时读,但是若有其中一个在写入数据,其他都不可读、不可写;简而言之:读读可以,读写不行,写写不行;

ixuery的博客 1789

Oracle EBS GL日记账批“选定以过账”状态数据修复

日记账来源:应收账款。用户操作过账以后,自动提交请求“过账:单一分类账”一直运行中,该请求执行5,6个小时甚至10多个小时无法完成,导致“标准管理器”阻塞大量请求待定,“冲突解决管理器”的待定数量不断增加。系统管理员不得不把该请求强制取消,此时,日记账批的状态处于“选定以过账”(GL_JE_BATCHES.STATUS为S),如下图 检查此日记账批有3千多条日记账题头,由于日记账比较多,日记账的科目余额计算需要大量服务器资源和执行时间比较长。

陈显平的专栏-Oracle EBS 3246

如何正确的计算两个角度的角度差?

这一步是必要的,因为它确保了无论a相对于b是在逆时针方向还是顺时针方向,d2总是正确地反映出绕圆相反方向的角度差。这样,当函数进行最后的比较时,它能够准确地比较两个方向的旋转路径并选择最短的一个。

小秋 AI SLAM 入门实战教程 4139

MySQL 性能优化全面指南

优化MySQL性能是提升数据库响应速度、降低延迟和提高系统整体性能的关键。以下是一些常用的MySQL性能优化方法,涵盖了硬件、配置、查询、索引、架构等多个方面。

微笑听雨 4719

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

MySQL性能优化之参数配置

MySQL性能优化之参数配置1、目的:通过根据服务器目前状况,修改Mysql的系统参数,达到合理利用服务器现有资源,最大合理的提高MySQL性能。2、服务器参数:32G内存、4个CPU,每个CPU8核。3、MySQL目前安装状况。MySQL目前安装,用的是MySQL默认的最大支持配置。拷贝的是my-huge.cnf.编码已修改为UTF-8.具体修改及安装MySQ...

weixin_33932129的博客 629

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

MySQL性能优化(一):优化方式

一:简介 MySQL性能优化是通过优化各个方面的,不仅仅是优化SQL语句这一方面,而是通过各各方面的优化,每个地方优化一些,这样整体性能就会有明显的提升。 二:优化方式 1. 优化数据库表结构的设计 为什么数据库表的设计会影响性能? 字段的数据类型:不同的数据类型的存储和检索方式不同,对应的性能也不同,所以说要合理的选用字段的数据类型。比如人的年龄用无符号的unsigned tinyint即可...

一线工作者的所见、所闻...... 1万+

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

【MySQL】从零到精通深入解析数据库设计与性能优化实战

MySQL数据库优化是一个持续的过程,随着业务发展和技术演进,需要不断调整和优化。掌握MySQL的核心原理是基础,结合实际业务场景进行实践是关键。从数据库设计到SQL编写,从参数配置到架构设计,每个环节都可能影响最终性能。建议开发者深入理解InnoDB存储引擎的内部机制,包括事务、锁、MVCC等概念,这有助于更精准地定位和解决问题。同时,关注MySQL新版本的特性和改进,如窗口函数、通用表表达式等,这些新功能可能带来更优的解决方案。只有通过不断学习和实践,才能真正掌握MySQL数据库设计与性能优化的精髓。

weixin_38894839的博客 403

性能优化专题 - MySql 性能优化 - 04 - MySql调优

面向Java程序员,衡量其水平的不单单是CRUD,更多的往往是性能优化的经验:包括代码优化、Tomcat优化、MySql优化、JVM优化等问题。在本专题,我将带大家一起走进JAVA性能优化实战,揭开其神秘面纱,让你升职加薪不再是梦想!

✎ℳ๓₯㎕...雲淡風輕 2278

数据库服务器运维最佳实践

数据库服务器运维是一项复杂而细致的工作,需要运维人员具备丰富的专业知识和实践经验。通过实施上述最佳实践,可以确保数据库系统的高效、稳定和安全运行。然而,随着技术的不断发展和业务需求的不断变化,运维人员还需要不断学习和探索新的运维技术和方法,以适应新的挑战和机遇。

hong161688的博客 1302

史上最全trader交易组件配置指南:参数配置详解

**trader交易组件**是操盘大哥精心打造的专业交易系统,为量化交易和自动化投资提供强大的技术支持。无论是股票、期货还是期权交易,这个开源项目都能帮助您快速搭建稳定可靠的交易环境。 ## 🚀 快速安装部署 ### 环境准备 首先需要安装TA-Lib的C库,然后使用pip安装项目依赖: ```bash pip install -r requirements.txt ``` ### My

gitblog_00364的博客 1146

MySQL数据库性能优化的十个关键策略与实践

持续的监控至关重要,应使用如`SHOW STATUS`、`SHOW PROCESSLIST`等命令或专业的监控工具(如Percona Monitoring and Management, Prometheus with Grafana)来跟踪关键指标,如QPS(每秒查询数)、TPS(每秒事务数)、连接数、慢查询数量、InnoDB缓冲池命中率等。最后,对复杂的查询进行分解,将一个大查询拆分成多个简单的查询,有时反而能利用MySQL的查询缓存和连接池优势,提高整体效率。数据库连接的建立和销毁是昂贵的操作。

lovesco的博客 742

DbGate终极性能优化指南:处理大型数据库的10个最佳实践

DbGate是一款功能强大的开源数据库管理工具,支持MySQL、PostgreSQL、SQL Server等多种数据库。当面对大型数据库时,优化性能成为提升工作效率的关键。本文将分享10个实用的性能优化技巧,帮助你轻松应对大数据量挑战,让数据库管理变得更加高效流畅。 ## 1. 启用高效数据分页加载 处理大型数据表时,一次性加载所有记录会严重影响性能。DbGate提供了智能分页功能,通过限制每

gitblog_00572的博客 897
上一篇: MySQL: 存储引擎选择策略:基于事务支持、备份需求、崩溃恢复及特性兼容性的综合指南
下一篇: MySQL: 基准测试全流程指南:原理、工具(mysqlslap/sysbench)与实战演示
Wang's Blog
博客等级 码龄12年 7434粉丝 2421原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wang's Blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值