簡單SQL問題

有兩個Tabel

books (50000 rows)
-id
-isbn

reviews (600000 rows)
-id
-book_id
-isbn

e+ book_id果個Col空左…想填番晒佢
用咩方法最快?用query load到死左都味得…因為reviews太多row

UPDATE REVIEWS
SET BOOK_ID = (SELECT ID FROM BOOKS WHERE BOOKS.ISBN = REVIEWS.ISBN)

TOP

本帖最後由 清仔 於 2017-4-14 23:57 編輯
  1. UPDATE reviews r
  2. INNER JOIN books b ON r.isbn13 = b.isbn13
  3. SET r.book_id = b.id
複製代碼
最后我咁完成
原來慢…係我個local 行得好慢…唔知點解

TOP

最后我咁完成
原來慢…係我個local 行得好慢…唔知點解
清仔 發表於 2017-4-14 23:54


    如用Oracle,有興趣知costing會差幾錢?

TOP

60萬隻好少...
再多data既中間做埋commit會好d...

TOP

最后我咁完成
原來慢…係我個local 行得好慢…唔知點解
清仔 發表於 2017-4-14 23:54


你部機唔夠ram / set得好少ram俾個db server?

TOP

回覆 1# 清仔


btw 點解要reviews度加埋isbn

TOP

回覆  清仔


btw 點解要reviews度加埋isbn
Jimmy0911 發表於 2017-6-6 12:36 PM


因為要用isbn 做book 既primary ref,例如第時外邊買d 書既DB 入黎…就可以merge到
咁點解要有個primary key id 係因為個framework 既naming convention,如果book 既id 唔係id 既話…咁就要改好多code ,同埋做唔到code generation (用緊cakephp 2.3)

TOP

回覆 8# 清仔


你有book_id@reviews link with id@book
then no need isbn@reviews table

TOP

本帖最後由 清仔 於 2017-6-6 17:08 編輯
回覆  清仔


你有book_id@reviews link with id@book
then no need isbn@reviews table
Jimmy0911 發表於 2017-6-6 04:43 PM


其實d review 有部份係amazon 果度抄落黎…
咁個review crawler 係靠個ISBN

比如話日后我地要import 第二個站抄落黎個review
import 入review table果時如果無isbn就會好煩!每次都要search一次book table 再囉番個book id

因為我用navicat 入要既導入精靈去做import…佢有得比你簡col mapping… 同update fields
如果無左isbn咁就用唔到導入精靈…

當然如果寫code或者union左佢先再import係可能…但花時間
導入精靈既好處係…個客比個excel file 你…就可以直接import

簡單講…我係方便自己做野同save time
如果之后確保無新review 入黎…其實可以drop左果isbn的

TOP