[问题] 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