Archive for ‘Mysql’ Category

一个sql tuning的例子

今天同事遇到一个mysql语句执行慢的问题,叫我帮忙看看,具体语句如下:
select Products.ProductID,Name from Products 
where Products.ProductID in
(
 select ProductID from Price 
  INNER JOIN vendors ON (price.VendorID = vendors.VendorID)
 where (  price.ExpiryDate > now() or YEAR(Price.ExpiryDate) = 1 )
  and vendors.Status = ‘1′ 
  and Price.MemberID=@memberID and Price.Disable=’false’ and IsHistory=0
)
and Disable=’false’
他说单独执行括号内的子查询,速度很快,没有那个子查询速度也很快,但合并起来后速度就很慢!

Left outer join

大家猜猜以下两个语句执行结果是否一样?
select * from aa a left outer join bb b on a.a=b.a and a.b=’wen’ ———(1)
select * from aa a left outer join bb b on a.a=b.a where a.b=’wen’——(2)
其中表bb跟表aa的结构一样,如下:
create table aa
(a int primary key,
b varchar(20))
结果如下:
语句(1):
a b a b
———– ——————– ———– ——————–
1 wen 1 today
2 su NULL NULL
3 test NULL NULL
4 ok NULL NULL
5 niu NULL NULL
(5 [...]

Page 1 of 11

    搜索本站

    站点日历

    3月 2010
    « 11    
    1234567
    891011121314
    15161718192021
    22232425262728
    293031  

    订阅本站

    文章分类

    最新日志

    热点文章

    日志存档

    常用标签