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

作者: RPedsel (Edsel)   2018-07-06 16:48:02
大家好,
最近在學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什麼的
不過還是不太清楚實際上到底發生了什麼事...
作者: ssccg (23)   2018-07-06 16:56:00
把JPA Provider的log開起來看就知道下了哪些sql
作者: RPedsel (Edsel)   2018-07-06 17:00:00
!我還真沒想過(其實也不知道)要這麼做 先謝謝樓上了
作者: adrianshum (Alien)   2018-07-07 13:28:00
複雜度的意思是?多少SQL? 還是DB 內部跑SQL 的複雜度?
作者: haha02 (來人!上夾棍!)   2018-07-07 19:49:00
是說知道SQL其實也不算可以知道複雜度就是了… 要看db實際的執行方式才準 不然就是做benchmark
作者: ssccg (23)   2018-07-07 21:37:00
有sql當然還是要拿去看execution plan不過有的時候自動產生的sql真的是一看就知道不能用了...
作者: adrianshum (Alien)   2018-07-09 12:56:00
至少可以肯定O(1) 不可能
作者: zephyrhymn   2018-07-15 14:48:00
O(1)以上要分散式系統才行吧

Links booklink

Contact Us: admin [ a t ] ucptt.com