sql里的关联子查询和交叉联接都是比较浪费时间的。
非关联子查询(Noncorrelated subquery)
一个独立而且不引用outer query的任何部分的subquery(连别名也不用?).
先查询inner query,然后再outer query.(先里后外)
关联子查询(Correlated subquery)
一个依赖outer query的返回结果的subquery.
先等到outer query的一个值,再传到inner query里(先外后里)
最好有个测试数据库,来测试查询的快慢。(实践还是检验真知的最好办法)
索引
对于常用的列上可以增加索引,用于加快查询速度。但索引会增加存储空间。
alter table my_contacts add index(last_name);