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)

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

相关内容

热门资讯

谷歌安卓10系统打不开,原因排... 最近是不是你也遇到了这个让人头疼的问题:谷歌安卓10系统打不开?别急,让我来帮你一步步排查,找出原因...
安卓系统转苹果吃鸡,体验全新i... 你知道吗?最近身边的小伙伴们都在热议一个话题:从安卓系统转到苹果手机,体验吃鸡游戏的新鲜感。这可不是...
双系统d盘安装安卓,轻松实现手... 你有没有想过,在电脑上同时拥有Windows系统和安卓系统,是不是就像拥有了两个世界的大门呢?想象一...
安卓系统后台运行程序,高效运行... 你有没有发现,手机里的安卓系统后台运行程序有时候就像那些调皮的小精灵,悄无声息地在你不知道的时候忙碌...
苹果ipad如何改安卓系统,轻... 你有没有想过,把你的苹果iPad换成安卓系统,是不是会有一种全新的使用体验呢?想象那些你熟悉的安卓应...
安卓隐藏系统状态栏,安卓隐藏系... 你有没有发现,手机屏幕下方那个小小的状态栏,有时候真的挺碍眼的?尤其是当你沉浸在游戏或者追剧的时候,...
bb10系统安装安卓,轻松实现... 你有没有想过,把那老式的BB10系统升级成安卓,让它焕发第二春呢?想象你的老手机瞬间变成了一个功能强...
安卓系统的安全怎样关,全面关机... 亲爱的安卓用户们,你是不是也和我一样,时不时会对安卓系统的安全性能感到一丝担忧呢?毕竟,谁都不想自己...
屏蔽更新鸿蒙和安卓系统,探索未... 亲爱的读者们,你是否也像我一样,对手机系统更新有着一种复杂的情感呢?一边期待着新功能的到来,一边又担...
deepin系统成为安卓版,开... 你知道吗?最近科技圈可是炸开了锅,因为Deepin系统竟然推出了安卓版!这可不是什么小打小闹,而是意...
有安卓系统的手表吗,搭载安卓系... 你有没有想过,在手腕上戴一块既能看时间又能玩游戏的神奇小玩意儿?没错,我说的就是有安卓系统的手表!想...
康佳电视安卓系统能改系统吗,解... 你家的康佳电视是不是也跟我的一样,时不时地闹个小脾气,让你想给它换个操作系统呢?别急,今天就来聊聊这...
安卓系统怎么连凯迪拉克,智能驾... 你有没有想过,你的安卓手机和那辆酷炫的凯迪拉克之间也能来个亲密接触呢?没错,就是那种无缝连接的感觉,...
安卓系统如何伪装成ios系统,... 你有没有想过,如果你的安卓手机突然变成了苹果的iOS系统,那会是怎样的场景呢?想象你手中的设备瞬间拥...
安卓系统自带的屏幕录制,屏幕录... 亲爱的手机控们,你是否有过这样的时刻:想要记录下手机屏幕上的精彩瞬间,却又不知道如何操作?别担心,今...
安卓系统更新后流畅度,体验升级... 你有没有发现,自从你的安卓手机更新了系统后,感觉好像变快了?没错,这就是今天我们要聊的话题——安卓系...
神武3安卓跟苹果系统,安卓与苹... 你有没有发现,最近手机游戏界又掀起了一股热潮?没错,就是那款让人欲罢不能的神武3!不过,说到玩这款游...
安卓手机双系统好处,安卓手机的... 你有没有想过,你的安卓手机其实可以拥有双重身份呢?没错,就是那个听起来就让人兴奋的“双系统”!今天,...
咋录音软件推荐安卓系统,轻松捕... 你有没有想过,有时候想要记录下生活中的点点滴滴,或者制作一段属于自己的音乐作品,一款好用的录音软件可...
安卓7.1系统好不好,体验升级... 你有没有听说安卓7.1系统最近在手机圈里可是火得一塌糊涂呢?这不,我就来给你好好捋一捋,看看这个系统...