黄东旭解析 TiDB 的核心优势
767
2023-06-06
本文讲述了企业级数据库,MySQL企业性能优化一:多种优化 方式介绍
数据库是什么
数据库是”按照数据结构Q 来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、有共享的、统一管理的数据集
合(1数据库是一个实体,它是能够合理保管数据的“仓库”,用户在该“仓库"中存放要管理的事务数据,"数据和“库"两个概念结合成为数据库。
(2)数库是数据管理的新方法和技术,它能更合适的组织数据、更方便的维护数据、更严密的控制数据和更有效的利用数据.
数据库的分类
数据库分类可以分为关系数据库和非关系型数据库。
关系型数据库使用起来用标准的SQL语句,而非关系型数据库使用为:
(1) 键值对存储 (key-value)
(2) 列存储
(3)文档数据库存储
(4) 图形数据库存储
这些数据库的代表分别为:
MVSQL (主流数据库)
MariaDB (MySQL的替代品)
非关系型数据库的代表为redis (典型的键值对存储)
数据库架构
内层:最接近实际存储体,亦即有关数据的实际存储方式
外层:最接近用户,即有关个别用户观看数据的方式。
概念层: 个于两者之间的间接层。
一:简介
我们常见的教据库性能优化就是 SQL语句优化,确实SQL优化是开发者接触到最多的也是最常有的优化手段。作为开发人员我们接触最多的也就是SQL语句的优化,SQL语句的优化除了调整SQL语句外更多的是通过添加索引来加速查询,表结构(合理设计字段、拆分字段到其它表、分表等)的优化也是我们优化的主要手段.
SQL优化只是我们学习的重点,我们将全面详细进解以上SQL优化,但是SQL优化并不是数据库优化的全部,一般来说数据库性能优化可以通过以下几个方面来优化:
硬件: 傻子都知道你买个好服务器比你现在用的笔记本数据库性能要强几个级别。
系统配置:好的硬件也需要合理的配置(如连接数配置、占用内存等),即使你的硬件服务器性能再好,但是数据库配置不合适没有充分利用完硬件性能还是没有完全发挥出硬件的优势
数据库和表结构的设计: 数据库是用来存储数据的,数据最终是存情在磁盘的,查询数据最终是读取磁盘上的内容,所以数据库表结
构的设计的好坏会影响到查询数据时磁盘的操作
SQL及索引: SQL优化是开发者便用最多的优化方式
MySQL性能优化是通过优化各个方面的,不仅仅是优化SQL语句这一方面,而是通过各各方面的优化,每个地方优化一些,这样整体性能就会有明显的提升。
二:优化方式
优化数据库表结构的设计
表结构优化主要通过如下方式来优化:宁段的数据类型:不同的数据类型的存储和检索方式不同,对应的性能也不同,所以说要合理的选用字段的数据类型。比如人的年龄用无符号的unsignedtinyint即可,没必要用integer,数字的处理速度要比字符串处理的速度更快。数据类型的长度:数据库最终要写到碰盘上,所以字段的长度也会影响着磁盘的IO操作,如果字段的长度很大,那么读取数据也票要更多的I/0.所以合理的字段长度也能提升数据库的性能。比如用户的手机号11位长度,没必要用255个长度。
表的存储引擎:常用的存储引警有MylSAM、InnoDB、Memory,不同的存储引擎拥有不同的特性,所以要合理的利用每种存擎的长处和优点来提供数据的性能。MylSAM不支持事务,表级锁,但是查询速度快,lnnoDB支持事务,行锁。所以表的存储引擎的选择也是非常重要。
2.SQL优化
MySQL性能优化的一个很重要的手段就是对SQL语句的优化。其中最重要的方式就是使用索引。
3.大表分表大表是指一个表的教据量非常大,通常是指超过500亿条数据量,当一个表的教据量很大的时候,查询就变的得慢,所以减少夷里的记录的数量是优化大表的一种方式,这种方式就是将一张表的数据拆分成多张表,这样每张表的数量就减少了,这样查询速度就相对来说就会快很多。
大表对DDL操作有一定的影响,如创建索引,添加字段修改表结构需要长时间锁表,会造成长时间的主从延迟,影响正常的数据操作
4.大事务
大事务: 运行时间比较长,操作的数据比较多的事务。
风险: 锁定太多的数据,造成大量的阻塞和锁超时,回滚时所需时间比较长,执行时间长容易造成主从延迟。解决方法: 避免一次处理太多的数据,移除不必要在事务中的select操作。5.数据库参数配置优化
mysal是一个高度定制化的数据库系统,提供了很多配置参数(如最大连接数、数据库占用的内存等),这些参数都有默认值,,一般默认值都不是最佳的配置,一般都需要根据应用程序的特性和硬件情况对mysl的配置进行调整,例如最大连接数默认为100,即使SQL语句优化的再好,硬件设备配置再高,当请求超过100时都要再等待,这就是配置不合理导致MySQL不能发挥它的最大能力.
6.主从复制,读写分离
台MySQL服务器同一时间点支持的并发数是有限的,当大量并发(如双11疯狂下单、支付)时,一台数据库处理不过来,所以增MySQL服务器的数量也是一种增理数据库性能的方式,通俗的进就是多个人干活肯定比一个人干活快。通过使用MySQL主从复制,增删改操作走Master主服务器,查询走Slaver从服务器,这样就减少了只有一台MVSQL服务器的压力。
增加缓存层
减少教据库连接也是一种优化手段,有些查询可以不用访问数据库,可以通过使用缓存服务器如redis、memcache、elasticsearch等增加缓存,减少数据库的连接。
8.升级服务器硬件
当所有优化手段都用了性能还需要优化时,那么只有升级MVSQL服务器端硬件了,更快的磁盘10设备,更强的CPU,更大的内存更大的网卡流量(带宽)等
总之对MySQL性能的提升,是通过各个方面来提升的,每个方面都提升一点,整体加起来就有明显的提升。
上文就是小编为大家整理的企业级数据库,MySQL企业性能优化一:多种优化 方式介绍。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。