前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MariaDB数据库性能优化与中文乱码解决

MariaDB数据库性能优化与中文乱码解决

作者头像
星哥玩云
发布2022-08-17 21:32:45
8110
发布2022-08-17 21:32:45
举报
文章被收录于专栏:开源部署开源部署

MariaDB数据库性能优化简述

1. 硬件优化

1.1 内存(Memory)

内存是最重要的因素,因为它允许您调整服务器系统变量。更多的内存意味着可以将更大的密钥和表缓存存储在内存中,从而减少磁盘访问速度,降低一个数量级。

如果未将服务器变量设置为使用额外的可用内存,则仅添加更多内存可能不会带来显着改进。

在主板上使用更多RAM插槽会增加总线频率,RAM和CPU之间会有更多延迟。因此,最好使用每个插槽的最大RAM大小。

1.2 磁盘(Disks)

快速磁盘访问至关重要,因为最终它是数据所在的位置。关键指标是磁盘搜索时间,衡量物理磁盘移动访问数据的速度,因此请选择寻道时间尽可能低的磁盘。

您还可以为临时文件和事务日志添加专用磁盘。

1.3 网速(Ethernet)

更快的网速主要影响数据接收和发送的速度,在可能的情况一般建议采用局域网的连接方式。

1.4 处理器(CPU)

虽然硬件瓶颈通常落在其他地方,但更快的处理器允许更快地执行计算,并且结果更快地发送回客户端。

除处理器速度外,处理器的总线速度和高速缓存大小也是需要考虑的重要因素。

2. 创建索引

 通常用的索引:主键(Primary keys),唯一索引(Unique Index),普通索引(Plain Index),全文索引(Full-Text Index)

2.1 主键(Primary keys)

主键是唯一的,永远不能为空,否则无法创建索引。它始终只能识别一条记录,并且必须表示每条记录。每个表只能有一个主键。

在XtraDB / InnoDB表中,所有索引都包含主键作为后缀。因此,当使用该存储引擎时,保持主键尽可能小是特别重要的。如果主键不存在且没有UNIQUE索引,则InnoDB会创建一个6字节的聚簇索引,该索引对用户不可见。

2.2 唯一索引(Unique Index)

唯一索引必须是唯一的,但它可以为null,可以单个列和多个列组合。

2.3 普通索引(Plain Index)

不需要唯一,可以单个列和多个列组合。

MariaDB中文乱码之解决思路

首先出现乱码的原因就是编码不一致问题引起的,那么就从以下2个方面入手:

1.应用层:前提条件数据库服务端存储的中文数据是对的,但是页面上显示乱码,这里只需要检查你的项目的编码格式,设置成一致就行。

2.数据库:包含数据库服务端和客户端,服务端和客户端编码格式必须一致,不一致就会出现乱码问题。

第一步:查看客户端和服务端的编码格式

在MariaDB命令窗口或者工具中执行:show variables like 'char%';  查看编码格式,会得到如图

上图是正确的编码格式设置,一般出现问题的是这3个值得设置:

character_set_client:客户端的编码格式

character_set_database:数据库的编码格式

character_set_server:服务端的编码格式

只要确保这3个编码一致,基本上问题就能得到解决。

如果这些设置都OK了,你还没有解决问题的话,那你就需要从表,列的编码合适着手:

show create table log_operation; 这个命令是查看创建表语句的,确定红圈中的编码格式是否一致就好

show full columns from log_operation;  查看表的列使用的字符集

总结:

只要确认上面所提到的地方都是使用同一编码格式,那么编码问题就不存在了。

CentOS 7下MariaDB 5.5升级到MariaDB 10.2  https://www.linuxidc.com/Linux/2019-03/157356.htm

在Ubuntu 18.04上安装带有Nginx,MariaDB 10和PHP 7的WordPress  https://www.linuxidc.com/Linux/2019-03/157315.htm

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • MariaDB数据库性能优化简述
    • 1. 硬件优化
      • 1.1 内存(Memory)
      • 1.2 磁盘(Disks)
      • 1.3 网速(Ethernet)
      • 1.4 处理器(CPU)
    • 2. 创建索引
      • 2.1 主键(Primary keys)
      • 2.2 唯一索引(Unique Index)
      • 2.3 普通索引(Plain Index)
  • MariaDB中文乱码之解决思路
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档