MySQL之SQL语句优化

一、索引管理优化

1.整合DDL语句

将索引添加到MySQL表的过程中,可能会引起阻塞,这是由于alter语句的阻塞性。因此可以将多条alter语句整合成一条SQL语句。

2.去除重复索引

重复的索引会有两个影响:

(1)导致DML语句运行变慢,因为要保持数据跟索引的一致性。

(2)数据库磁盘空间变大,从而导致备份之类的操作时间增加。

因此当一个索引出现在别的索引最左边部分时,这个索引就是重复索引,如下图所示:

 name1索引被包含在了name2最左边部分,name1这个索引就是重复索引。

二、索引列优化

1.数据类型

bigint 跟 int :自增主键由bigint改为int,能节省磁盘和内存空间。

NOT NULL 跟 NULL : 索引中的列被定义为NOT NULL时,占用更小的空间。

2.列的类型

IP地址:IPv4的地址人们通常使用的是varchar(15)列来存储IP地址。mysql可以使用无符号整数来存储,还提供了inet_aton()inet_ntoa()来互相转换。这样可以节省空间。

首先,设置IP字段类型为int;

其次,insert时用inet_aton()存储,eg : insert into table values(inet_aton('192.168.1.1'));

最后,查询ip字段时可以用inet_ntoa()显示,eg:select inet_ntoa(ip) from table;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值