这主要取决于你的select 后面要输出多少列了。
如果跟这么多表都相关的输出,估计只能在索引上做点儿事儿了,剩下的就只能交给查询分析器了。如果输出集中在单个或少数表,lz可以考虑使用not exists或not in 反向处理。参考http://blog.csdn.net/orchidcat/article/details/6267552