[問題] JPA @ManyToMany query時間複雜度

看板java作者 (Edsel)時間6年前 (2018/07/06 16:48), 編輯推噓2(208)
留言10則, 5人參與, 5年前最新討論串1/1
大家好, 最近在學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

07/06 16:56, 6年前 , 1F
把JPA Provider的log開起來看就知道下了哪些sql
07/06 16:56, 1F

07/06 17:00, 6年前 , 2F
!我還真沒想過(其實也不知道)要這麼做 先謝謝樓上了
07/06 17:00, 2F

07/07 13:28, 6年前 , 3F
複雜度的意思是?多少SQL? 還是DB 內部跑SQL 的複雜
07/07 13:28, 3F

07/07 13:28, 6年前 , 4F
度?
07/07 13:28, 4F

07/07 19:49, 6年前 , 5F
是說知道SQL其實也不算可以知道複雜度就是了… 要看db實
07/07 19:49, 5F

07/07 19:49, 6年前 , 6F
際的執行方式才準 不然就是做benchmark
07/07 19:49, 6F

07/07 21:37, 6年前 , 7F
有sql當然還是要拿去看execution plan
07/07 21:37, 7F

07/07 21:38, 6年前 , 8F
不過有的時候自動產生的sql真的是一看就知道不能用了...
07/07 21:38, 8F

07/09 12:56, 6年前 , 9F
至少可以肯定O(1) 不可能
07/09 12:56, 9F

07/15 14:48, 5年前 , 10F
O(1)以上要分散式系統才行吧
07/15 14:48, 10F
文章代碼(AID): #1RFop5CS (java)