一个SQL大牛提的一个sql优化小测试
大家如果对SQL优化感兴趣的话,可以看看这个链接,
http://sqlblog.com/blogs/adam_machanic/archive/2008/04/22/sql-server-query-processing-puzzle-like-vs.aspx
这个是一个sql牛人的 博客,他在上面提出了一个小问题:
USE TempDB
GO
CREATE TABLE b1 (blat1 nCHAR ( 5 ) NOT NULL )
CREATE TABLE b2 (blat2 VARCHAR ( 200 ) NOT NULL )
GO
INSERT b1
SELECT LEFT (AddressLine1, 5 ) AS blat1 FROM AdventureWorks.Person.Address
INSERT b2
SELECT AddressLine1 AS blat2
FROM AdventureWorks.Person.Address
GO
然后执行如下的查询语句:
SELECT * FROM b1
JOIN b2 ON b2.blat2 LIKE b1.blat1 + ' % '
这个语句在他的机器上是花费了3分钟(在我的机器上是7分钟......)
他想问大家有什么办法可以提高速度而不采用新建对象(比如临时表,索引,索引视图)
如果能回答出来,你可以直接给他发邮件: Machanic#@pythian.com 。
当然我已经给他邮件了,那么你呢?
(最终我的优化是1.6秒,在我的T40上)
作者: Leo_wl
出处: http://www.cnblogs.com/Leo_wl/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
版权信息查看更多关于一个SQL大牛提的一个sql优化小测试的详细内容...