mysql优化技巧有何误区
发表于:2025-01-28 作者:千家信息网编辑
千家信息网最后更新 2025年01月28日,本文主要给大家介绍mysql优化技巧有何误区,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下mysql优化技巧有何误区吧。上面这条技巧粗略看一眼
千家信息网最后更新 2025年01月28日mysql优化技巧有何误区
本文主要给大家介绍mysql优化技巧有何误区,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下mysql优化技巧有何误区吧。
上面这条技巧粗略看一眼好像也没有什么问题。可事实是这样的吗?
结论当然是否定的。且看实例分析:
CREATE TABLE `t_auxiliary_info` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `ac_id` tinyint(3) unsigned NOT NULL COMMENT '分类ID', `name` varchar(250) NOT NULL DEFAULT '' COMMENT '名称', `number` smallint(6) unsigned NOT NULL DEFAULT '1' COMMENT '编号', `attr` varchar(500) NOT NULL DEFAULT '' COMMENT '属性', `fdbid` int(10) unsigned NOT NULL COMMENT '用户ID', `status` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '状态:1有效,0无效', `stock_type` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '存货类型:1库存商品,2原材料,3周转材料', PRIMARY KEY (`id`),#请注意这里的索引 KEY `uniq_cid_acid` (`fdbid`,`ac_id`)) ENGINE=InnoDB AUTO_INCREMENT=645101 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC
上面是一张普通的业务表,仔细看表中设置的索引:
PRIMARY KEY (`id`),#主键索引 KEY `uniq_cid_acid` (`fdbid`,`ac_id`)#联合索引
再使用上述的in 或not in 来实践以下,通过explain执行计划工具看看实际效果。(在这里为了公平起见,我不使用主键id,且in操作中的数据不是连续的。)
select * from t_auxiliary_info where fdbid in('1000','1500','1234','5155','6789','3423','5368','245645');
在上面的sql中,我们使用包含在联合索引`uniq_cid_acid`中的字段 `fdbid`作为搜索条件
见证奇迹的时刻到了。
通过执行计划, 我们可以清晰的看到这条sql的检索类型为简单简单检索,属于范围查询,且已经使用到了索引 uniq_cid_acid,且没有全表扫描(扫描行数为2804,而本表中数据条数为645101)。
由此可以得出结论:不是所有sql中的in查询会全表扫描。这里推翻了in会导致全表扫描的结论。
那么在什么情况下,使用in操作一样可以使用到索引,不会全表扫描呢?
答: in的字段必须是带有索引的字段。
ps: in(...) 中的数据最好加上引号,即使字段类型是数字。
在 看看not in
select * from t_auxiliary_info where fdbid not in(1000,1500,1234,5155,6789,3423,5368,245645);
真相在这里:
not in确实会全表扫描。
看完以上关于mysql优化技巧有何误区,很多读者朋友肯定多少有一定的了解,如需获取更多的行业知识信息 ,可以持续关注我们的行业资讯栏目的。
索引
技巧
字段
误区
数据
类型
结论
笔者
行业
查询
检索
联合
普通
有效
粗略
业务
事实
原材
原材料
可以使
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
票根网请求服务器异常
辽宁学校时间频率同步服务器
ssh服务器结束进程
遂宁打卡软件开发
评价对软件开发的影响
小学课堂网络技术
数据库查询连接软件文件版本
网络安全小品3分钟
服务器管理器关闭自启动
关于公司服务器停机维护的通知
大数据下的网络安全心得体会
农村电商物流的网络技术
投影运算和数据库关系
数据库和数据库系统的相同处
ecstore数据库结构
服务器能当家用机箱上网快吗
PHPcsv导入数据库
网络安全和测试运维哪个好学
下面哪种模型是软件开发模型
传导网络技术公司
强调风险分析的软件开发模型是
娜娜网络技术服务
评价对软件开发的影响
游戏加速服务器要钱吗
手机上怎么配置服务器环境
点击华为账号显示无法连接服务器
无线传感网络技术的应用领域
数据库点菜系统
奔驰DTS数据库设置
澪ultimate怎么玩服务器