看板 java 關於我們 聯絡資訊
大家好, 最近在學Spring Boot 用Spring Data JPA 寫了一個多對多的關係 類似下面: 物件 Post - 其下可以有多個tags 物件 Tag - 可以被多個posts使用 還有一個一對多: 物件 Post Type - 可被多個Post使用,一個Post只有一個 也寫好了一些REST API: 1. 給定postId, 找出它所有的tags 2. 給定postId,tagId,幫Post新增Tag 3. 在新增Post時假設一定要指定Post Type (Id),新增一個Post 我想知道的是,這幾個query的時間複雜度是? 因為當初定義物件時,下面也就直接分別定義了tags / posts / post-type 直覺上就會覺得好像都是 O(1) 就可以做到... 不過會有這麼好的事嗎QwQ...? 估狗了一下檯面下好像有些table join什麼的 不過還是不太清楚實際上到底發生了什麼事... -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 138.229.222.193 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1530866885.A.31C.html
ssccg: 把JPA Provider的log開起來看就知道下了哪些sql 07/06 16:56
RPedsel: !我還真沒想過(其實也不知道)要這麼做 先謝謝樓上了 07/06 17:00
adrianshum: 複雜度的意思是?多少SQL? 還是DB 內部跑SQL 的複雜 07/07 13:28
adrianshum: 度? 07/07 13:28
haha02: 是說知道SQL其實也不算可以知道複雜度就是了… 要看db實 07/07 19:49
haha02: 際的執行方式才準 不然就是做benchmark 07/07 19:49
ssccg: 有sql當然還是要拿去看execution plan 07/07 21:37
ssccg: 不過有的時候自動產生的sql真的是一看就知道不能用了... 07/07 21:38
adrianshum: 至少可以肯定O(1) 不可能 07/09 12:56
zephyrhymn: O(1)以上要分散式系統才行吧 07/15 14:48