sql优化

  •  insert
    • insert批量插入
    • 手动提交事务
start transaction;
insert ···
insert ···
commit;
    • 主键顺序插入
    • 海量数据通过load插入

  • order by

  •  group by

  分组操作时,索引的使用也是满足最左前缀法则的

  • limit

一般分页查询时,通过创建覆盖索引能够比较好地提高性能,可以通过覆盖索引 + 子查询形式进行优化

explain select * from tb_sku t, (select id from tb_sku order by id limit 2000000, 10), a where t.id = a.id;

 

  • count

  •  update

更新条件尽量有索引

在MySQL的InnoDB引擎支持行锁,与Oracle不同,MySQL的行锁是通过索引加载的,如果对应的SQL语句没有走索引,则会全表扫描,行锁变为表锁。行锁又分为共享锁和排他锁,共享锁允许两个事务可以锁同一个索引,排它锁不允许。insert,delete,update在事务中都会默认加上排它锁。

 

posted @ 2023-06-30 11:47  WTSRUVF  阅读(4)  评论(0编辑  收藏  举报