MySQL学习笔记(5.SQL优化)
创始人
2024-05-30 21:50:52
0

1. 插入数据优化

批量插入数据,将

insert into tb_1 values(字段1, 字段2...)

insert into tb_1 values(字段1, 字段2...)

改为按主键顺序插入,手动提交事务,可以提高插入效率

2. 大批量插入数据(优化为加载文件数据)

(1). 连接数据库 mysql --local-infile -u{root} -p{pwd} // 代表需加载本地文件

(2). 查询本地文件加载状态 select @@local_infile;

(3). 若未开启本地文件加载,则 set global local_infle=1; // 设定开启本地文件加载

(4). 加载本地文件到表 load data local infile '/url/xx.log' into table {表名} fields teminated by ',' lunes teminated by '\n'; // 代表加载文件 log 到表,按逗号分割字段,按\n换行

3. 主键优化

数据库存储分为:表空间(64段),(64区),(64页-1M),(16KB),

(1). 主键顺序插入:一页写满,按顺序开新页

(2). 主键乱序插入:插入数据在两个满页之间,将一个页分裂成两个,插入新页(页分裂)。

删除数据,是将数据标记为删除,页不满50%会找前后两个页,与另一个50%页合并(页合并)。

注释:可以在建表或索引时,指定页合并的数值(merge_threshold值)

结论,页合并和页分裂都会影响插入效率,所以主键顺序插入效率高。

主键设计原则:降低长度,选择自增属性,避免修改主键

4. 排序优化(order by)

(1). 根据索引顺序排序,效率最高(通过索引获取数据就是排好的顺序)。

(2). 排序的顺序,与联合索引创建时的字段顺序不一致(违背最左前缀法则),不完全按索引排序

(3). 创建索引默认都是升序,排序按联合索引字段顺序都升都降是索引排序。一升一降(违背最左前缀法则)

(4). 可以创建索引时指定排序规则:create index 索引名 on 表名(字段 asc, 字段 desc);

5. 分组优化(group by)

(1). 与排序优化一样,按索引顺序分组,效率最高(满足最左前缀法则)

(2). 可以将最左前缀(联合索引字段)写在where中,之后的(联合索引字段)写在group by中。(是满足最左前缀法则的)

6. 分页优化(limit)

大数据(1千万条以上)查询页越往后越慢

网上查询给的解决办法是:关联id排序过的子查询,能优化大数据后面排序的效率

但是这样做,为了保持分页顺序,势必前面的数据也要按id排序,会影响效率高的查询也变慢。

最优解决策待定。。。

7. 总件数函数优化(count函数)

(1). count函数,返回不为null的记录数。

(2). count(*) mysql做了优化,性能最好。

(3). count(主键) 主键与唯一字段的count性能第二。

(4). count(普通字段) 性能最差,字段如果有null取到的是不为Null的数据的件数

(5). count(1) 不取数据,性能与count(*)一样,性能最好。

8. 更新优化(update)

更新条件如果不是索引,事务会进行表锁,导致其他事务不能更新数据。避免非索引更新条件。

相关内容

热门资讯

安卓系统降级会更快吗,降级过程... 你有没有想过,你的安卓手机升级后,有时候操作起来反而不如以前流畅呢?别急,今天就来聊聊这个话题——安...
安卓系统设备扫码在哪,安卓设备... 你有没有遇到过这种情况:手机里装了各种APP,但是有时候想扫码付款或者加入某个群组,却怎么也找不到扫...
创维电视安卓系统卡顿,创维电视... 最近家里的创维电视有点不给力啊,你有没有遇到过安卓系统卡顿的烦恼?这可真是让人头疼不已。今天,就让我...
安卓系统摄像功能,捕捉生活精彩... 你有没有发现,现在手机拍照已经成为我们生活中不可或缺的一部分呢?尤其是安卓系统的摄像功能,简直让人爱...
安卓的系统安全管理,全方位守护... 你知道吗?在这个信息爆炸的时代,手机已经成了我们生活中不可或缺的好伙伴。但是,随着手机功能的日益强大...
安卓TV9系统,系统革新与智能... 你有没有发现,最近你的安卓电视系统更新了?没错,就是那个安卓TV9系统!这可不是一个小小的更新,而是...
hi8pro安卓系统,功能解析... 亲爱的数码爱好者们,你是否对安卓系统有着浓厚的兴趣?今天,我要给你带来一款特别引人注目的产品——hi...
在win8系统模拟安卓系统,跨... 你有没有想过,在Windows 8系统上也能模拟出安卓系统的风采呢?没错,这就是今天我要跟你分享的神...
cmd窗口进QNX系统和安卓系... 你有没有想过,在电脑上打开一个神秘的cmd窗口,竟然能进入两个截然不同的世界——QNX系统和安卓系统...
苹果12怎么装安卓系统,轻松安... 你手上的苹果12是不是已经用腻了?想要换换口味,试试安卓系统?别急,今天就来手把手教你如何给苹果12...
安卓系统极米同屏,安卓系统下的... 亲爱的读者们,你是否曾在深夜里,看着手机屏幕,却渴望能有一个更大的屏幕来享受你的电影之夜?或者,你是...
可以刷安卓8.0系统吗,探索新... 你有没有想过,你的安卓手机能不能升级到最新的安卓8.0系统呢?这可是个让人兴奋的话题,毕竟谁不想让自...
乐视改安卓系统版本,系统版本升... 亲爱的读者们,你是否还记得那个曾经红极一时的乐视电视?没错,就是那个曾经承诺要改变我们观看电视方式的...
安卓原生系统壁纸软件,软件功能... 亲爱的手机控们,你是否厌倦了手机上千篇一律的壁纸?想要给安卓手机换上一副新鲜出炉的原生系统壁纸?那就...
安卓手机刷了垃圾系统,深度解析... 亲爱的手机控们,你们有没有遇到过这种情况:安卓手机刷了垃圾系统,瞬间感觉手机变慢了,各种广告弹窗不断...
系统可以人为设置吗安卓,安卓系... 你有没有想过,你的安卓手机里的系统是不是可以按照你的喜好来定制呢?没错,就是那种可以人为设置的系统,...
安卓怎么关闭系统广告,享受纯净... 手机里的广告是不是让你烦得要命?尤其是安卓系统,广告无处不在,让人不胜其烦。别急,今天就来教你怎么关...
安卓系统不能打开程序,安卓系统... 最近是不是你也遇到了这样的烦恼:安卓系统突然不能打开某个程序了?别急,让我来帮你分析一下可能的原因,...
安卓系统耐用性,揭秘其卓越耐用... 你有没有发现,手机这玩意儿,用着用着就有点儿不给力了?尤其是安卓系统,有时候感觉就像是个老古董,怎么...
桃源深处苹果转安卓系统,系统变... 你知道吗?在桃源深处的某个角落,有一家小而温馨的苹果店,最近可是发生了件大事呢!他们竟然把店铺的操作...