首页 > 数据库 >我的MySQL优化学习笔记

我的MySQL优化学习笔记

时间:2023-12-30 12:13:27浏览次数:34  
标签:存储 数据库 笔记 引擎 MyISAM MySQL 优化

我的MySQL优化学习笔记

这是我自己的学习记录笔记,方便自己后续翻看,(如需要)也可共享出来供大家参考。

一、优化概述

1. 优化的目的是什么?

  • 通过配置使现有的软件和硬件获得最佳性能【典型】
  • 寻求机会该进MySQL软件本身
  • 开发自己的存储引擎和硬件设备来扩展MySQL生态系统

2. 从哪里着手优化?

  • 从数据库软件层面进行优化
  • 从硬件层面进行优化
  • 平衡便携性和性能

二、数据库软件层面的优化

1. 良好的基本设计

影响数据库性能的因素很多,但最重要的是“基本设计”。我们首先要确保我们的数据库基本设计良好。

a) 正确设计表结构

  • 列的数据类型要正确
  • 当表数据被经常修改时,表中列数尽可能少(即程序写入多,读取少)
  • 当要分析大量的数据时,表中列数应该尽可能多(即程序读取多,写入少)

b) 查询时使用正确的索引

c) 使用正确的存储引擎以利用每个存储引擎的优势和特性

  • InnoDB(事务存储引擎):新表的默认存储引擎,通常比设计简单的MyISAM好,特别是对于繁忙的数据库
  • MyISAM(非事务存储引擎):设计简单

每个表是否使用适当的行格式?此选择还取决于表所使用的存储引擎。特别是,压缩表使用更少的磁盘空间,因此需要更少的磁盘 I/O 来读取和写入数据。压缩适用于所有类型的 InnoDB表工作负载以及只读 MyISAM表。

用于缓存的所有内存区域的大小是否正确?也就是说,足够大以容纳频繁访问的数据,但又不能大到物理内存过载并导致分页。要配置的足够内存区域和InnoDB缓冲池的MyISAM密钥缓存。

标签:存储,数据库,笔记,引擎,MyISAM,MySQL,优化
From: https://www.cnblogs.com/czh4869/p/17936218.html

相关文章

  • 《软件需求十步走》阅读笔记三
     开发因需求而来,需求开发以需求规划的成果为主要依据。软件需求开发首先要做的是获取需求,得到目标、系统关联情况以及用例的分析;其次是需求分析,软件系统的可行性、用户接口、系统功能、数据、优先级等这些都在需求分析之列;然后汇总成需求分析规格说明书;最后在进行需求测评,制定具......
  • check the manual that corresponds to your MySQL server version for the right syn
    form:{repairstatus:0,name:'',//负责人maintenancetime:newDate().toISOString().split('T')[0],//保修时间equipmentid:'',equipment:'',describe:'',finfishtime:'',repairname:'�......
  • system笔记
    system("pause")可以实现冻结屏幕system("CLS")可以实现清屏操作调用color函数可以改变控制台的前景色和背景,具体参数在下面说明。例如,用system("color0A");其中color后面的0是背景色代号,A是前景色代号。各颜色代码如下:0=黑色1=蓝色2=绿色3=湖蓝色4=红色5=紫色6......
  • 《重构:改善既有代码的设计》读书笔记三
    7、FeatureEnvy(依恋情结)函数对于某个类的兴趣高过对自己所处类的兴趣。把这个函数移至另一个地点,移到它该去的地方。MoveMethod(搬移函数)如果一个函数用到几个类的功能,则该判断哪个类拥有最多被此函数使用的数据,然后就把这个函数和那些数据摆在一起。ExtractMethod(提炼函......
  • 读书笔记
    《软件工程—实践者的研究方法》读书笔记第三部分是质量管理。什么是质量?质量是一个复杂多面的概念,设计质量和符合质量两方面都需要软件工程师考虑。质量很重要,但是用户不满意,其他的事就都不重要了。这是RobertGlass给出的一个“直观的公式”:用户满意度=合格的产品+好的质量......
  • 陈峻宇高级图论讲课笔记
    离线哩!竞赛图竞赛图确实抽象,性质一堆一堆的,想不明白……而且多半都和强连通分量有关系。兰道定理考虑一共有\(n\choose2\)条边,那么\(\sumout_x=\binomn2\)。兰道定理大致就是如果竞赛图强连通,那么:\[\not\existsk\in[1,n),\sum_{x=1}^kout_x=\binomk2......
  • zkq 数学听课笔记
    线性代数域\(F\),OI中常用的域是\(\Z_{p^c}\)。\(n\)维向量\(\vecx\inF^n\),其中\(x_i\inF\),注意向量是列向量。\(F^n\)向量/线性空间,满足线性性八个性质,\(u,v,w\inV\),\(c,d\inF\)\(u+v=v+u\)\((u+v)+w=u+(v+w)\)存在\(0\)元\(\ex......
  • openGauss学习笔记-177 openGauss 数据库运维-逻辑复制-逻辑解码-逻辑解码概述
    openGauss学习笔记-177openGauss数据库运维-逻辑复制-逻辑解码-逻辑解码概述177.1功能描述openGauss对数据复制能力的支持情况为:支持通过数据迁移工具定期向异构数据库(如Oracle等)进行数据同步,不具备实时数据复制能力。不足以支撑与异构数据库间并网运行实时数据同步的诉求。......
  • openGauss学习笔记-178 openGauss 数据库运维-逻辑复制-逻辑解码-使用SQL函数接口进行
    openGauss学习笔记-178openGauss数据库运维-逻辑复制-逻辑解码-使用SQL函数接口进行逻辑解码openGauss可以通过调用SQL函数,进行创建、删除、推进逻辑复制槽,获取解码后的事务日志。178.1前提条件逻辑日志目前从主机节点中抽取,默认关闭SSL连接,如果进行逻辑复制,需要先配置GUC......
  • bitset优化传递闭包
    bitset优化传递闭包时间复杂度\(O(\frac{n^3}{w})\)#include<bits/stdc++.h>#defineF(i,l,r)for(inti=l;i<=r;++i)#defineG(i,r,l)for(inti=r;i>=l;--i)#definelllonglongusingnamespacestd;constintN=1005;bitset<N>f[N];intn;intmain......