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)

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

相关内容

热门资讯

mp3安卓系统前端 你有没有想过,为什么你的手机里那么多音乐,却总是觉得听不到那种纯粹的音乐体验呢?其实,这跟你的手机系...
华为安卓系统苹果ios系统升级 你知道吗?最近手机圈可是热闹非凡呢!华为和苹果这两大巨头又来了一场关于系统升级的较量。今天,就让我带...
安卓系统映射电脑显示,畅享多屏... 你是不是也和我一样,对安卓系统映射电脑显示这个功能充满了好奇?想象你的手机屏幕瞬间变成电脑显示器,是...
tf卡上安装安卓系统,便携式智... 你有没有想过,你的TF卡上也能装个安卓系统?听起来是不是有点不可思议?别急,让我带你一步步探索这个神...
安卓9更新鸿蒙系统卡,鸿蒙系统... 最近你的安卓手机是不是也遇到了卡顿的问题呢?尤其是更新到了安卓9系统后,感觉手机就像老牛拉车一样,慢...
安卓系统wifi热点怎么开 你是不是也和我一样,有时候手机里突然冒出一个想法:“我能不能把手机变成一个WiFi热点呢?”别急,这...
安卓系统照片编辑抠图,释放创意... 你有没有发现,手机里的照片有时候就是需要一点小魔法,才能变得完美无瑕呢?比如说,你想要把照片里的人物...
三星安卓系统和鸿蒙系统,技术融... 亲爱的读者们,今天我们要来聊聊两个在智能手机界颇具影响力的操作系统——三星的安卓系统和华为的鸿蒙系统...
本田车机加装安卓系统,畅享智能... 你有没有想过,你的本田车机其实可以变得更加智能和好玩呢?没错,就是那个平时默默无闻的车载系统,今天就...
安卓系统电源文件在哪,安卓系统... 你有没有遇到过手机电量突然告急,却怎么也找不到电源文件的尴尬时刻?别急,今天就来给你揭秘安卓系统电源...
安卓系统华为平板推荐吗,安卓系... 你最近是不是在考虑入手一款新的平板电脑呢?市面上那么多品牌,各种型号让人眼花缭乱。今天,就让我来给你...
怎么查出手机安卓系统,一探究竟 你有没有想过,你的手机里藏着多少秘密?别担心,我不是要吓你,而是想告诉你,了解自己手机的安卓系统,其...
安卓系统是不是很垃圾,是“垃圾... 最近在网络上看到一个话题,让人忍不住想聊聊:安卓系统是不是很垃圾?这可是个热门话题,毕竟现在手机市场...
公交站牌安卓系统,安卓系统下的... 你有没有发现,最近公交站牌变得不一样了?没错,就是那个我们每天上下班必经的地方,现在竟然悄悄地升级换...
安卓模拟器装系统,轻松打造个性... 你有没有想过,在电脑上也能玩安卓游戏或者使用安卓应用?这可不是天方夜谭,而是可以通过安卓模拟器实现的...
安卓系统变成汉语怎么变,从英语... 你知道吗?安卓系统,这个全球最流行的手机操作系统,最近可是悄悄地来了一场大变身呢!它不仅变得更加智能...
安卓为什么难用鸿蒙系统,探寻其... 你有没有发现,最近手机圈里有个大热门话题,那就是安卓和鸿蒙系统的较量。很多人都在问,为什么安卓手机那...
emui是安卓系统还是鸿蒙系统... 哦,亲爱的读者,你是否曾在手机界面的角落里,瞥见那个独特的EMUI字样,心中不禁好奇:这EMUI,究...
安卓系统能用联通卡吗 你有没有想过,你的安卓手机能不能用联通的卡呢?这个问题,估计不少手机用户都好奇过吧!今天,就让我来给...
王者荣耀安卓系统改变,畅享指尖... 你知道吗?最近王者荣耀在安卓系统上可是来了一场大变身呢!这可不仅仅是界面上的小改动,而是从内到外都焕...