覺得有趣是, 首先把時間複雜度從 n^2 降到 n log n 然後又有人跟我講說query db 很耗時間。 所以想,
牽涉到Database所以就不能單純看時間複雜度啦。DB query過程中可能會存取硬碟,而存取硬碟的時間遠大於存取記憶體的時間,O()預測法八成會失準(因為常數太大)。
我自己猜測直接用 DB Query 會比較快,因為DB本身的資料結構通常都已經針對硬碟存取優化過了。
真的要硬做的話,直覺的作法就是先排序然後用二分搜尋法,看你的資料量有多「大」,能不能全部塞進記憶體裡面做。
寫 procedure, 但是好像好麻煩
應該還是寫 procedure 效能會比較快吧...
Hibernate 在這方面好像就無能為力?
把資料全部都撈回來 local 跑, 用 DBD 之類的 key value db, key = 他要比對的欄位, value = 他要寫入的資料在檔案的位置(offset) 這樣應該就會快多了吧
請問 DBD 是什麼?
Link1
Link2
原來是 Berkeley DB ...
不過光是把 資料全部都撈回來 local 就要花掉不少時間了吧?(假設資料筆數很多的話)
Kmark 是一個類似 Markdown 語法的格式,以下為提供的功能:
*兩邊加單星*
**兩邊加雙星**
~~兩邊加雙曲號~~
> 左邊加個大於符號
左邊加個大於符號
* 可用星號 * 也可以 - 減號 * 數字加點也可以
`abcdefghijk`
兩邊用倒引號包住
abcdefghijk
``` function abc() ```
上下都用三個倒引號包住
function abc()
[這是連結][1] [1]: http://example.com
連結第一部份是文字,先用中括號包住,後面再加上 [編號]。 第二部份是連結本身,放在文末,開頭是 [編號]: http
這是連結1