国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

left-join - 關于 mysql 關聯查詢的一些疑惑

瀏覽:142日期:2022-06-16 16:31:37

問題描述

【join查詢這種黑科技在數據量小的情況下可以使用,基本沒有什么影響,數據量大的時候,join的性能可能會是硬傷,應該盡量避免,可以分別根據索引取單表數據然后在應用層對數據進行join、merge】, 想問下例如現在有三個表 user、department、article, album(專輯)

user表:

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表:

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表

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專輯表:

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

現在想查詢 用戶id 為 5 , 并找出屬于他自己 專輯id 為 10 下最新發表的 10 篇文章(這10篇當中當然不能包括被刪除的文章), 不能使用 join 關聯查詢, 而是使用這種方式實現[分別根據索引取單表數據然后在應用層對數據進行join、merge], 該如何實現呢?(最好能夠有sql舉例說明)

問題解答

回答1:

首先你要理解什么叫做在應用層面實現。另外一個,你都知道user_id為5了,根本涉及不到什么關聯查詢,你直接:

select * from article where user_id = 5 and is_delete = 0 order by id desc limit 10;

就可以搞定了啊

相關文章:
主站蜘蛛池模板: 罗源县| 武清区| 蕲春县| 伊宁市| 鄂州市| 年辖:市辖区| 西乡县| 美姑县| 瓦房店市| 太湖县| 江华| 景德镇市| 嘉禾县| 邵东县| 宣恩县| 老河口市| 三河市| 山阴县| 桃园市| 榆林市| 宜兰县| 永德县| 松阳县| 赣榆县| 汝州市| 宁陕县| 麻江县| 安阳市| 宿松县| 忻州市| 新乡县| 北辰区| 建宁县| 高邑县| 土默特左旗| 文山县| 岳阳县| 静宁县| 镇巴县| 商南县| 松桃|