GeekLiHua
常见索引失效的情况
原创
关注作者
前往小程序,Get
更优
阅读体验!
立即前往
腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
GeekLiHua
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
社区首页
>
专栏
>
常见索引失效的情况
常见索引失效的情况
原创
GeekLiHua
关注
发布于 2024-08-30 23:03:24
101
0
发布于 2024-08-30 23:03:24
举报
文章被收录于专栏:
Java
常见索引失效的情况
LIKE查询以通配符开头
SELECT * FROM users WHERE name LIKE '%smith';
OR语句前后没有同时使用索引
SELECT * FROM users WHERE name = 'John' OR email = 'john@example.com';
联合索引未遵循最左前缀原则
-- 假设有一个(name, email)的联合索引 SELECT * FROM users WHERE email = 'john@example.com';
索引列数据类型出现隐式转换
SELECT * FROM users WHERE id = '123'; -- id是整型,但查询条件是字符串
对索引列进行计算或使用函数
SELECT * FROM users WHERE id * 2 = 246;
ORDER BY使用错误
-- 假设name字段没有索引 SELECT * FROM users ORDER BY name;
全表扫描速度比索引速度快
-- 假设users表只有很少的记录 SELECT * FROM users WHERE id = 1;
WHERE子句中使用参数
-- 假设MySQL版本导致参数化查询时索引失效 PREPARE stmt FROM 'SELECT * FROM users WHERE name = ?'; SET @name = 'John'; EXECUTE stmt USING @name;
数据类型不匹配
SELECT * FROM users WHERE name = 123; -- name字段是字符串类型,但查询条件是整型
使用is null和is not null时未注意字段是否允许为空
-- 假设name字段不允许为空 SELECT * FROM users WHERE name IS NULL;
字符类型字段在查询时未加引号
SELECT * FROM users WHERE name = 123; -- name字段是字符串类型,查询条件未加引号
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系
cloudcommunity@tencent.com
删除。
mysql
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系
cloudcommunity@tencent.com
删除。
mysql
评论
登录
后参与评论
0 条评论
热度
最新
推荐阅读
LV.
文章
0
获赞
0
目录
常见索引失效的情况
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
产品介绍
产品文档
云数据库采购特惠,高性能、高可靠、高安全,超值优惠等你享!
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档
0
0
0
推荐