sql 几个细节

===== 1: left outer join 

sql 中left outer join 时,如果左边的

 ===== 2: 在join中临时生成小表特别慢

在join中临时生成小表特别慢

SELECT
t.*
FROM
(
SELECT
*
FROM
tb_auction_trade_repeat
WHERE
shop_id IN (34189316, 58501945, 66588765)
) t
LEFT OUTER JOIN dim_auction a ON (t.auction_id = a.auction_id)
LEFT OUTER JOIN dim_shop s ON (t.shop_id = s.shop_id)
LEFT OUTER JOIN dim_thedate d ON (t.thedate = d.thedate)
LEFT OUTER JOIN (
SELECT
0 AS `is_trade_repeat`,
'新客户' AS `is_trade_repeat_name`
UNION ALL
SELECT
1 AS `is_trade_repeat`,
'老客户' AS `is_trade_repeat_name`
) re ON (
t.is_trade_repeat = re.is_trade_repeat
)

===== 3:不支持远程导出原始数据

不支持远程导出原始数据, select * from .... into outfile

 可以用dump导出sql数据.

但是可以通过某些工具帮助实现

=====4: outfile导出的文件是mysql用户名的

outfile导出的文件是mysql用户名的,所以要放在/tmp下面

=====5: join 小表 已知表可以用 case 来代替

====6:内连比left jion 要快很多


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值