【Mysql优化】究极终章

我们的sql和索引的优化大概就这么多,然后我们再来看一下表结构的优化是怎么样的。

首先我们需要选择最合适的数据类型,那么什么叫合适呢?主要有4点:

第一,可以存在我们字段数据的最小的数据类型。

第二,如果可以使用int代替varchar等数据类型,最好用int,因为int的处理比varchar等数据类型的处理简单。(两个例子,一个是存储时间,一个是存储IP)

第三,尽可能的使用not null定义字段。

第四,在存储一些文章或者篇幅 比较大的字段时,我们尽量避免使用text,如果必须要使用,要考虑到分表的操作。

然后我们再来讲一下表的垂直拆分和水平拆分。

所谓的表的垂直拆分就是把一个有很多列的表拆分成一个多列的表,解决的是表的宽度,那么这里就会有一定的技巧,比如:

1、我们把一些常用的字段放在一张表中。

2、我们把一些不常用的字段放在一张表中。

3、我们把一些大数据的字段放在一张表中。

水平拆分呢,就是为了解决一个表中数据量过大的问题,我们水平的把一个表分为多个表,表的数据结构没有变化。

还有就是操作系统的配置优化:


一般就是增加TCP的连接数,以及减少连接时资源回收,再有就是打开对文件数的限制,再有就是最好关闭防火墙之类的软件,因为这种东西会对我们的系统性能产生损耗。


我们可以使用第三方的工具帮我们进行配置,介绍一款percona公司的配置工具

Person Configuration Wizard 网址:https://tools.percona.com/wizard,选择方式然后填写信息域名等,就会帮你生成一个配置文件。当然具体的配置还是要根据实际情况,不能完全以工具的配置文件为准。


再有的就是我们的硬件优化,大家都知道,硬件的优化,需要消耗大量的成本,我们这里需要注意并不是服务器的cpu核数越多越好的,有实验测试得,mysql5.5的版本,在32核的服务器下,反而性能降低。


我们可以通过增加磁盘阵列的方式优化我们的磁盘IO一般就是RAID0,RAID1,RAID5,RAID0就是把多个磁盘连接成一块硬盘使用,这样的方式IO最好。我们一般的数据库都建议采取RAID1+0的方式来进行配置。


ok,大概能想到的就这么多,以后如果想到更全面的再补充,这里就是我们MYsql优化的全部内容了,如果你有什么好的建议或者补充,欢迎留言~


分享一首我最爱的民谣没有之一。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值