資料庫中有訂單表tb_order,其中有order_id和user_id和user_name等字段。
資料庫中有使用者資料表tb_user,其中有user_id和user_name等字段。
現在需要使用tb_user.user_name來更新tb_order.user_name,兩個表的關聯條件是tb_order.user_id = tb_user.user_id。
通常,在兩個表都靜止的時候,可以使用乙個update來解決,如下。
update tb_order
set user_name = (select user_name from tb_user u where u.user_id = tb_order.user_id);
但是,如果這兩個表的資料量較大,且兩個表都在生產頻繁使用的時候,乙個update語句會鎖表,且需要較長的時間,從而可能會導致正常的業務無法快速進行。
此時,就應該單獨遍歷tb_order表中的每一條記錄,然後根據tb_order.user_id去tb_user中查詢每一條記錄中的user_name,最後根據tb_order.order_id來更新tb_order.user_name;這個單獨遍歷的方式,雖然不能完全解決鎖表引起的問題,但是也可以較大概率避免。但是這個配置模式,效率非常低。
還有乙個更好的思路,乙個轉換就可以完成的配置。思路如下:
1、使用表輸入,從tb_order表中獲得資料;
2、使用資料庫連線控制項,直接從表輸入的結果中獲得引數,然後執行查詢,從tb_user表得到需要的資訊;
3、使用插入更新空間,直接修改tb_order中指定的字段。
因為這三個步驟在乙個轉換中,所以,可以在第2步和第三步中設定併發數量來提高kettle的處理效率。
配置如下:
累就乙個字
最近也學了一把跳槽,新公司坐落在北師大校園裡,環境是一流,可惜就是遠過頭了,一天就要浪費兩個小時在車上,比以前還慘。值得安慰的是公司坐落在學校裡,每天在校園裡看到那些青春活力的學生,也會覺得自己年輕了好幾歲,感覺非常棒。最重要的是北師大靚女成群,真是大飽眼福啊 別鄙視咱,哪個男人不喜歡欣賞美女,除非...
愛就乙個字
撥開天空的烏雲 像藍絲絨一樣美麗 我為你翻山越嶺 卻無心看風景 我想你身不由己 每個念頭有新的夢境 但願你沒忘記 我永遠保護你 不管風雨的打擊 全心全意 兩個人相互輝映 光芒勝過夜晚繁星 我為你翻山越嶺 卻無心看風景 我想你鼓足勇氣 憑愛的地圖散播訊息 但願你沒忘記 我永遠保護你 從此不必再流浪找尋...
乙個字等於多少位元組?
在這個特定計算機中,字是其用來一次性處理事務的乙個固定長度的位 bit 組。現代計算機的字長通常為16 32 64位。結合以上兩句,我覺得乙個字佔多少位元組並不是那麼絕對的,要看你是哪個處理器 處理器的位數決定了能夠處理一條指令的長度 以前我看書上也是說乙個字就是兩個位元組,這是因為我們之前接觸的8...