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)

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

相关内容

热门资讯

ip是安卓系统吗,通过IP地址... 你有没有想过,那个陪伴你每天刷剧、玩游戏、办公的IP,它是不是安卓系统呢?别急,今天就来揭开这个谜底...
安卓系统谁负责升级,揭秘幕后负... 你有没有想过,你的安卓手机为什么有时候会突然收到系统更新的通知呢?是不是好奇,是谁在背后默默地为你的...
安卓系统需要降级吗,安卓系统升... 你有没有发现,你的安卓手机最近有点儿“老态龙钟”了呢?运行速度慢吞吞的,有时候还卡个不停。这时候,你...
性价比手机安卓系统,盘点安卓系... 你有没有想过,在这个手机更新换代如此迅速的时代,如何用最少的钱,买到最满意的手机呢?没错,我要说的是...
虚拟大师安卓2.0系统,安卓新... 你有没有听说最近虚拟大师安卓2.0系统火得一塌糊涂?这可不是空穴来风,而是真的让不少手机用户都跃跃欲...
谷歌同步安卓10系统,智能体验... 你知道吗?最近谷歌又放大招了,安卓10系统正式上线啦!这可是个大新闻,咱们得好好聊聊。想象你的手机瞬...
米9安卓系统最高,小米9安卓系... 你有没有发现,最近你的手机是不是有点儿不给力了?别急,别急,让我来给你揭秘为什么你的小米9安卓系统最...
五菱安卓系统下载,开启智能出行... 你有没有听说最近五菱汽车也要玩儿高科技了?没错,就是那个我们平时在路上随处可见的“神车”——五菱宏光...
华为安卓6.0系统特点,创新与... 你知道吗?华为的安卓6.0系统最近可是火得一塌糊涂呢!作为一个紧跟科技潮流的数码达人,我必须得给你好...
安卓系统指令怎么用,或者根据标... 你有没有想过,你的安卓手机里那些神秘的系统指令其实就像是一把神奇的钥匙,能帮你解锁手机的各种隐藏功能...
最好用安卓系统排行,2023年... 你有没有想过,为什么安卓系统这么受欢迎呢?没错,就是那个几乎无处不在的操作系统。今天,就让我带你一起...
红辣椒刷安卓系统,深度解析与全... 你有没有想过,你的安卓手机里竟然也能装上红辣椒的系统?没错,就是那个让无数游戏玩家热血沸腾的红辣椒!...
surface 3跑安卓系统,... 你有没有想过,如果你的Surface 3也能跑安卓系统,那会是怎样的场景呢?想象你手中的平板瞬间变成...
安卓系统自带手机壁纸,探索安卓... 亲爱的手机控们,你是否曾好奇过,为什么你的安卓手机里会有那些精美的壁纸?今天,就让我带你一探究竟,揭...
安卓屏幕装鸿蒙系统,跨平台新体... 你知道吗?最近在手机圈子里,有个话题可是火得一塌糊涂,那就是——安卓屏幕装鸿蒙系统。是不是听起来有点...
安卓电视改造系统教程,轻松打造... 亲爱的电视迷们,你是否厌倦了安卓电视那千篇一律的系统界面?想要给它来个焕然一新的改造?别急,今天我就...
优品才子安卓系统,引领智能生活... 你知道吗?在手机操作系统界,最近可是掀起了一股“优品才子”安卓系统的热潮呢!这款系统不仅功能强大,而...
小米电视安装安卓系统,打造智能... 亲爱的读者们,你是否也像我一样,对小米电视的强大性能和智能体验情有独钟?但你是否知道,小米电视其实可...
安卓系统路由表,揭秘网络数据传... 你有没有想过,你的安卓手机里那些看似复杂的设置,其实背后隐藏着不少小秘密呢?比如,今天咱们就要来聊聊...
安卓系统的广告拦截,守护您的手... 你有没有发现,手机里的安卓系统越来越智能了,但随之而来的广告也越来越多,简直让人头疼不已。今天,就让...