作者:夕阳何处寻 | 来源:互联网 | 2023-09-17 12:56
【join查询这种黑科技在数据量小的情况下可以使用,基本没有什么影响,数据量大的时候,join的性能可能会是硬伤,应该尽量避免,可以分别根据索引取单表数据然后在应用层对数据进行join、merg
【join查询这种黑科技在数据量小的情况下可以使用,基本没有什么影响,数据量大的时候,join的性能可能会是硬伤,应该尽量避免,可以分别根据索引取单表数据然后在应用层对数据进行join、merge】, 想问下例如现在有三个表
、
、
,
(专辑)
user表:
1 2 3 4 5 6 7
| id int primary key auto_increment,
name char(32),
password char(32),
created_at bigint,
updated_at bigint,
is_delete int default 0,
dep_id int (对应department表的 `id`) |
department表:
1 2 3 4 5 6
| id int primary key auto_increment,
name char(32),
pid int default 0,
created_at bigint,
updated_at bigint,
is_delete int default 0 |
article表
1 2 3 4 5 6 7 8 9
| id int primary key auto_increment,
title char(100),
content text,
user_id int,(对应 user 表的 `id`)
cate_id int,
album_id int, (对应 album 表的 `id`)
created_at bigint,
updated_at bigint,
is_delete int default 0 |
album专辑表:
1 2 3 4 5 6 7
| id int primary key auto_increment,
title char(100),
user_id int, (对应 user 表的 `id`)
pid int default 0,
created_at bigint,
updated_at bigint,
is_delete int default 0 |
现在想查询
为 5 , 并找出属于他自己
为 10 下最新发表的 10 篇文章(这10篇当中当然不能包括被删除的文章), 不能使用
关联查询, 而是使用这种方式实现[分别根据索引取单表数据然后在应用层对数据进行join、merge], 该如何实现呢?(最好能够有sql举例说明)