MySQL数据优化

一、优化insert语句
当进行数据的insert操作的时候,可以考虑一下几种优化方案。
.如果需要同时对一张表插入很多行数据时,应该尽量使用多个表的insert语句,这中方式将大大的缩减啦客户端与数据库之间的链接,关闭

这是原始的插入数据

insert into user values(1,'Tom');
insert into user values(2,'Tom');
insert into user values(3,'Tom');

1.这是优化后的SQL语句有长度限制

insert into user values(3,'Tom'),(3,'Tom'),(3,'Tom'),;

2.事务需要控制大小,事务太大可能会影响执行的效率在数据达到这个这个值前进行事务提交

START TRANSACTION;
INSERT INTO `insert_table` (1,'Tom')
    VALUES (1,'Tom');
INSERT INTO `insert_table` (1,'Tom')
    VALUES (1,'Tom');
COMMIT;

3.按顺序插入

INSERT INTO `user`  VALUES (1,'Tom');
INSERT INTO `user`  VALUES (2,'Tom');
INSERT INTO `user`  VALUES (3,'Tom');

二、order by优化

1.尽量减少额外排序,通过索引直接返回数据。
2.where和order by 使用相同并且order by的顺序和索引的顺序一样

三、group by优化

1.在group by后面加 order by null 这样order by 默认就不排序

四、优化子查询

尽量使用表连接代替子查询

五、or优化

使用union代替or union是交际 二个表返回的数据结合

六、分页查询优化

1.在索引上完成分页操作,最后根据主键关联到原表查询所需要的其他列的数据
2.该方式适用于主键自增,可以吧Limit查询转成某个位置的查询

使用SQL提示

 1.USE INDEX 
 建议MySQL使用一个或多个索引(MySQL也可以不使用)
 2.IGNORE INDEX
 建议MySQL忽略一个或多个索引(MySQL也可以不忽略)
 3.FORCE INDEX
 强制MySQL使用一个特定的索引
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值