- 积分
 - 19324
 
- 明经币
 -  个
 
- 注册时间
 - 2015-8-18
 
- 在线时间
 -  小时
 
- 威望
 -  
 
- 金钱
 -  个
 
- 贡献
 -  
 
- 激情
 -  
 
 
 
 
 
 
 | 
 
 
 楼主 |
发表于 2024-6-4 16:02:40
|
显示全部楼层
 
 
 
 本帖最后由 你有种再说一遍 于 2024-6-19 18:31 编辑  
 
两个集合的过滤方式,其实就是Join算法,数据库常见的 Join 算法有三种: 
1,Nested Loop Join(嵌套循环连接) 
2,Sort-Merge Join(排序合并连接) 
3,Hash Join(哈希连接) 
它们的时间复杂度可以问问AI,是构建+查询组成的,这很重要,因为它是每次都构建,无法缓存给另一个Sql语句.所以聪明的程序员们更喜欢采取违反范式的冗余字段设计,在一张表上面记录别的重复字段,查询时候就不需要Join. 
Mysql不支持Sort-Merge,所以PostgreSQL性能更好,尤其是它还是LSM树. 
 
这个Join是什么意思呢? 
例如查询图元时候想知道图层是不是锁定的, 
我们需要再去找图层表记录,这样非常麻烦, 
因此在图元表记录这个图层锁定就好了. 
 |   
 
 
 
 |