MySql 性能优化

        MySql性能优化

use exercise_linux;
-- 优化其他Sql语句

-- insert优化
-- 1.批量插入
-- 在insert插入时,尽量批量插入,因为每次插入都需要和数据库建立连接,十分影响效率
-- 但插入多条数据也不建议过多,一般为500 - 1000;若有大量数据需要插入,那么应该将其拆分为一堆少量的数据再插入

-- 2.手动提交事务
-- 若自动提交事务,则会面临频繁的事务开启和事务提交,影响效率;可以等一些Sql语句执行完毕之后,再一次性提交事务

-- 3.主键顺序插入
-- 主键顺序插入的效率高于主键乱序插入的效率

-- 4.大批量插入数据
-- 若需要一次性插入大批量数据,使用insert语句插入效率较低,可以使用load指令插入
-- 步骤:
-- 1.在客户端链接服务端时,加上参数 --local-infile
-- mysql --local-infile -u root -p
-- 2.开启从本地加载文件导入数据库的开关
-- set global local_infile = 1
-- 3.执行load指令将准备好的数据加载到表结构中
-- load data local infile 'file_name' into tbale 'table_name' fields terminated by '分割符' lines terminated by '换行符'

-- 数据组织方式
-- 在innoDB存储引擎中,表数据都是根据主键顺序存放的,这种存储方式的表是索引组织表



-- 页合并:
-- 当删除一行记录时,实际上记录并没有被物理删除,只是该记录被标记为删除;而且它的空间变得允许被其他记录声明使用
-- 当页中删除的记录达到MERGE_THRESHOLD(默认为页的50%),innoDB引擎会开始寻找最靠近的页(前或后)看看是否可以将两个页合并,以优化空间使用



-- 主键的设计原则
-- 满足业务需求的情况下,尽量降低主键的长度
-- 插入数据时,尽量选择顺序插入,选择AUTO_INCREMENT自增主键
-- 尽量避免以UUID做主键或其他自然主键,如身份证号
-- 业务操作时,避免对主键修改,因为修改主键要修改索引结构,代价极大


  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值