ksc91u 積分 0

覺得有趣是, 首先把時間複雜度從 n^2 降到 n log n 然後又有人跟我講說query db 很耗時間。 所以想,

  1. 寫 procedure, 但是好像好麻煩
  2. 把資料全部都撈回來 local 跑, 用 DBD 之類的 key value db, key = 他要比對的欄位, value = 他要寫入的資料在檔案的位置(offset) 這樣應該就會快多了吧
這是文章的子討論串,你可以回到上層查看所有討論和文章
chchwy 積分 0

牽涉到Database所以就不能單純看時間複雜度啦。DB query過程中可能會存取硬碟,而存取硬碟的時間遠大於存取記憶體的時間,O()預測法八成會失準(因為常數太大)。

我自己猜測直接用 DB Query 會比較快,因為DB本身的資料結構通常都已經針對硬碟存取優化過了。

真的要硬做的話,直覺的作法就是先排序然後用二分搜尋法,看你的資料量有多「大」,能不能全部塞進記憶體裡面做。

natsu 積分 0
  1. 寫 procedure, 但是好像好麻煩

應該還是寫 procedure 效能會比較快吧...

Hibernate 在這方面好像就無能為力?

  1. 把資料全部都撈回來 local 跑, 用 DBD 之類的 key value db, key = 他要比對的欄位, value = 他要寫入的資料在檔案的位置(offset) 這樣應該就會快多了吧

請問 DBD 是什麼?

ksc91u 積分 0
natsu 積分 0

原來是 Berkeley DB ...

不過光是把 資料全部都撈回來 local 就要花掉不少時間了吧?(假設資料筆數很多的話)