select t1.a, t1.b, t2.c, t2.d from t1, t2 where (t1.a = t2.a and t2.e = 123)
由于t2过于庞大,希望能对上面进行优化,
实际上就是希望t1能和一个查询出来的子集进行join望高手指点
由于t2过于庞大,希望能对上面进行优化,
实际上就是希望t1能和一个查询出来的子集进行join望高手指点
解决方案 »
- mysql数据库还是免费吗?我要到哪里下载?能给个连接吗?谢谢
- 如何获取mysql中上一次执行的SQL语句?
- 关于权限的高级查询
- 求一个group by 语句
- mysql可不可以既返回总的结果数量又limit到指定页面?
- mysql奇怪的问题
- MySQL 5.0 Windows版本是不是收费的?
- 关于Postgresql中的触发器
- 寒假想学数据库方面的东西,我应该从mysql入手,还是foxpro,还是纯理论的??给些建议吧,“高程”关于数据库都考些什么?
- 如何实现代理Navicat连接MySql
- 如何使用bulk insert插入多个文件
- 查询一个表中有的,但另一个相关联表中没有的记录及时间小于两周的数据的sql
考虑对t2建立复合字段索引 (e,a);对t1建立索引(a)
从此表中查出子集为select t2.c, t2.d from t2 while t2.e = 5;
这个行数比较少,千行以内.
希望能以这个子集和t1 join 取出关联的t1.a, t1.b
CREATE TABLE t2 (id int not null auto_increment primary key, a int, d int);select t1.a, t1.b, t1.c, t2.d from t1, t2 where (t1.a = t2.a and t2.e = 123)
如何对这个语句进行优化
我觉得如果你是基于这个SQL来优化的话,那建议你考虑对t1(a)建立索引,对t2(e,a)建立索引否则,如果不是基于你的这个SQL语句,那考虑改变处理逻辑来优化了,如建立临时表来处理等等。
2、索引情况、主键是什么;
3、EXPLAIN 你的SQL语句。
nianzhang747应该是这个意思看起来好象可以了,
先结贴.