暂无图片
MySQL什么情况下应不建或少建索引
我来答
分享
无止境
2021-10-09
MySQL什么情况下应不建或少建索引

如题,今天被面试官问住了

我来答
添加附件
收藏
分享
问题补充
4条回答
默认
最新
刘广

1、如果表数据量太少可以不建索引,有时候全表扫描可能比索引快。

2、对于DML操作很频繁的表不建议,前提是保证查询性能的情况下。

3、表数据重复且分布平均的表字段,比如表记录10万行,取值只有男或者女。

4、经常和主字段一块查询但主字段索引值比较多的表字段

以上,请采纳。

暂无图片 评论
暂无图片 有用 0
打赏 0
暂无图片
无止境
题主
2021-10-09
大概懂了,再查查资料,谢谢
chengang

表数据量特别少。比如总共不超1000行。

暂无图片 评论
暂无图片 有用 0
打赏 0
chengang

还有一种情况,生产库只写入,不查询。 也不需要建立索引

暂无图片 评论
暂无图片 有用 0
打赏 0
无止境
题主
2021-10-09
谢谢
薛晓刚

1、数据量很少比如10条

2、你这个场景就是说不带条件

3、需求有问题只查区分度比较低的。比如男女大约都是一半。建立也没什么用

4、应用代码不肯优化也不能改成成全文。就是前后%

等等

暂无图片 评论
暂无图片 有用 0
打赏 0
无止境
题主
2021-10-09
谢谢专家的解答
回答交流
Markdown


请输入正文
提交
相关推荐
有哪位可以帮我解答下udev规则?KERNEL=="dm-*",ENV{DM_UUID}=="mpath-222020001551e58d8",OWNER="grid",GROUP="asmadmin",MODE="0660"这个规则改不了权限
回答 3
multipath多路径可以参考这样的写法,要用12,用mapper出来的盘符名绑定即可cat/etc/udev/rules.d/12dmpermissions.rulesENV{DMNAME}“da
为什么MYSQL 8.0.27 MYSQL.EVENT; 表不存在?
回答 2
已采纳
是的已经没有了。在5.7的官方手册里还能看到可以通过myslq.event获取event的metadata,在8.0中已经删掉了,我猜意思是通过informaitonschema.events表已经能
MYSQL和PDO_MYSQL 那个更好速度更快?
回答 1
mysql是数据库后面的不是数据库,怎么比?
MySQL参数对比
回答 1
如果是8.x版本话。将现有参数都持久化一下再重启。
MySQL字符集问题
回答 1
导出数据,用新的字符集建库或者建表,导入数据直接在线修改参数对于已经保存的数据是没有效果的,还可能会有其他未知的问题出现
华为云裸金属 部署11g RAC,共享盘为一块独立的高性能磁盘,划分三个分区用于ASM(OCR/DATA/FRA),请问是否可行?
回答 1
为什么不弄3块盘呢?如果磁盘不够用的话,我觉得adg也是个不错的选择
MySQL阅读redo log 里面的内容,有什么工具吗?
回答 3
没有
在MySQL里如何执行OS命令?
回答 1
已采纳
可以通过system或“\!”来执行。
国产ARM环境能安装MySQL吗?
回答 4
可以,mysql从8.0开始支持arm的,5.7以前的官方不支持arm,如果想在arm上装,需要自己调整编译。
集群复制失败:日志中的键条目重复
回答 2
已采纳
需要对应看下这个pos点的事务,报错日志是主键冲突,可以使用跳过,或者在表中对比数据,然后处理