两张表联合查询为何没有用上索引?
来源:互联网 发布:正装皮鞋搭配 知乎 编辑:程序博客网 时间:2024/04/19 10:02
我有两张表,一张叫teacherInfo,一张叫departmenInfo两张表有一个相同的字段,叫depnum,两张表都以这个字段建立了索引,可是我执行以下语句时,departmenInfo要进行全表扫描。
SELECT TA.* FROM teacherInfo TA,departmenInfo TB WHERE TA.depnum=TB.depnum
如果把两个表的位置改改如下,又变成teacherInfo要全表扫描:
SELECT TA.* FROM departmenInfo TB,teacherInfo TA WHERE TA.depnum=TB.depnum
其实就是放在后面的表总要进行全表扫描。一直想不明白明明两张表都有索引,为什么总有一张表是要进行全表扫描呢?
上网找原因,原来是上面的语句没有筛选条件,TA.depnum=TB.depnum这个条件只是做了表的关联查询,并未提供筛选条件,如果再加一个条件”and depnum=’001’”等筛选条件,索引立即用上了。
记下,用于学习!
2 0
- 两张表联合查询为何没有用上索引?
- 没有建联合索引导致cpu过高
- 索引在联合查询中的作用
- 联合索引优化多条件查询
- 联合查询中要注意要有索引
- 联合索引优化多条件查询
- mysql 联合查询的时候 统计不知道 为何不准
- 查询没有索引的表
- 记一次查询索引的联合索引的添加
- 联合索引
- 联合索引
- 联合索引
- 多表在没有外键下的联合查询
- oracle 联合索引的疑问-与单列查询的关系
- oracle_为何在查询中索引未被使用
- 没有索引也可以快速查询
- 查询哪些表没有聚集索引
- 数据库索引,联合索引
- MD5加密
- IplImage结构体
- Oracle Net Configuration本地Net服务名配置
- SQL server替换字符串
- php yaf扩展安装不成功的原因之一yaf版本与操作系统位数不匹配
- 两张表联合查询为何没有用上索引?
- 自定义圆形ImageView
- RunLoop整理
- UVA 11292_Dragon of Loowater
- static与final的区别
- Android studio运行project出现了Installation failed since the device possibly has stale dexed jars...的问题
- php 数组分页输出函数
- .NET站点导航之TreeView控件绑定数据库
- Android群英传读书笔记 第三章 Android控件架构与自定义控件详解