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 要快很多


發佈了138 篇原創文章 · 獲贊 5 · 訪問量 35萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章