首页 > 数据库 >sql优化

sql优化

时间:2023-08-17 23:35:07浏览次数:35  
标签:数据库 配置 sql mysql 优化 读写

sql优化由4个部分,

第一个是硬件和操作系统成面优化,

第二个是架构设计层优化,

第三个是程序配置优化,

第四个是sql执行优化。

第一个

从硬件层面上来说影响mysql性能因素主要是  cpu可用内存大小磁盘读写速度网络带宽从操作系统层面上来说  应用文件句柄数操作系统的网络配置都会影响到mysql的性能优化,这部分的优化一般都是bda或者运维完成,在硬件基础资源的优化中我们重点关注的是服务本身所承载的体量,然后提出合理的指标,要求避免出现资源浪费的一个现象,

第二个架构优化,mysql是一个磁盘io访问非常频繁的关系型数据库,在高并发和高性能的场景中,mysql数据库必然会承受巨大的并发压力,在此时的优化可以分几个部分,

第一个是搭建mysql主从集群,单个mysql服务容易导致单点故障,一旦服务宕机将会导致依赖mysql应用无法向应主从集群或者主主集群都可以去保证服务的高可用性,第二个读写分离设计,在读多少写的场景中,通过读写的方案可以去避免读写冲突导致性能问题,第三个是引用分库分表的机制,通过分库可以降低单个服务器节省的一个io压力通过分表的方式可以降低单表数据量从而去提升sql查询效率第,四个针对热点数据可以引入更为高效的分布试数据库比如redis、MongoDB等他们可以很好的缓解mysql的访问压力同时还能提升数据的检索性能,

第三个点mysql的配置优化,mysql是经过互联网大厂检验过的生产级别的成熟数据库,对于mysql数据库本身的优化一般可以通过配置文件my.cnf来完成比如说mysql5.7版本默认的最大链接数量是151个这个值可以在my.cnf中修改第二个binlog日志默认是不开起,我们也可以在这个文件中去修改开启第三个是缓存池Bufferpool默认大小配置等,而这些配置一般是和用户的安装环境以及使用场景有关系因此这些配置官方只会提供一个默认的配置具体的情况还是要有使用者去根据实际情况去修改关于配置项去修改需要注意两个成面

标签:数据库,配置,sql,mysql,优化,读写
From: https://www.cnblogs.com/cxxtreasure/p/17639177.html

相关文章

  • dp 凸优化学习笔记
    好久没系统地写一个算法相关内容的学习笔记了,主要是我学习dp凸优化部分有意义,有象征性的例题。目前网上很多题解都有点讲的不明不白的感觉,很多甚至都连基本知识都没说清楚就开始SlopeTrick了,这困扰了我许久。我认为通过这篇文章可以比较清晰地了解dp凸优化的入门知识和......
  • 解密数据库连接池的奥秘与优化策略
    在后端开发中,数据库是应用程序的核心数据存储和管理部分。为了高效地处理数据库连接,提升应用性能,数据库连接池成为了不可或缺的技术。本文将深入探讨数据库连接池的工作原理,并介绍一些优化策略,帮助你更好地理解和使用数据库连接池。数据库连接池的背景与作用数据库连接是有代价的资......
  • MySQL-进阶篇 ( InnoDB 引擎 )
    MySQL-进阶篇(InnoDB引擎)目录MySQL-进阶篇(InnoDB引擎)逻辑存储结构架构左侧内存结构部分:右侧磁盘结构部分:后台线程事务管理介绍回顾特性的保证redolog日志undolog日志MVCC基本概念实现原理记录中的隐藏字段undolog日志readView逻辑存储结构表空间(ibd文件......
  • Matlab灰狼算法(GWO)优化双向长短期记忆神经网络的数据分类预测,GWO-BiLSTM分类预测,多
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • 企业内容建站系统 ModStartCMS v7.0.0 多语言开发优化,多个常用组件升级
    ModStart是一个基于Laravel模块化极速开发框架。模块市场拥有丰富的功能应用,支持后台一键快速安装,让开发者能快的实现业务功能开发。系统完全开源,基于Apache2.0开源协议,免费且不限制商业使用。功能特性丰富的模块市场,后台一键快速安装会员模块通用且完整,支持完整的API调用大......
  • 如何用随机方法求解组合优化问题(五)
    模拟退火算法这是一篇笔记,是对于B站up主马少平的视频(第四篇如何用随机方法求解组合优化问题(五))的学习与记录。前置知识回顾【回顾】:局部最优问题在局部搜索问题中,可能会陷入局部最优解(如上图中的B、C),解决思路是:以概率接受差解。【回顾】:退火过程中从状态\(i\)转换为状......
  • unable to open database file , EF生成SQLite数据库
    前言:  记录下,忘了再回头看看。unabletoopendatabasefile 错误  如果使用EF生成SQLite数据库,发现报出错误unabletoopendatabasefile,请检查下“存放SQLite数据文件的文件夹是否存在”......
  • 高频SQL 50题(基础版): 员工奖金 | 2023-08-17
    问题表:Activity+----------------+---------+|ColumnName|Type|+----------------+---------+|machine_id|int||process_id|int||activity_type|enum||timestamp|float|+----------------+---------+该表展示......
  • 在 Linux 上安装 SQL Server 2017
    概述通过将平台抽象层(PAL)引入SQLServer,Linux上的SQLServer成为可能。PAL将所有操作系统特定代码集中在一处,并允许其余代码保持独立于操作系统。PAL是Microsoft研究项目Drawbridge的成果。目前,RedHatEnterpriseServer、SUSELinuxEnterpriseServer和Ubunt......
  • SpringBoot+Mybatis-Plus+Mysql的保姆级搭建
    本文通过简单的示例代码和说明,让读者能够了解Mybatis-Plus+Mysql的简单使用必须说明的是,本文有部分内容是为了后续的微服务写的,所以如果只想用Mybatis-Plus的话,直接使用bank1项目即可 1.新建父项目,选用springinitializr即可,可以删除其他文件,仅仅留下pom文件当成父pom。修改......