5
我有一個MySQL數據庫,其中每個用戶都有一個帳戶,每個帳戶可以有多個權限。MySQL性能:使用GROUP_CONCAT的單個查詢或兩個單獨的查詢?
我的最終目標是結束帳戶的用戶名和逗號分隔的權限ID列表。有兩種方法,我可以做到這一點:
SELECT a.username, GROUP_CONCAT(rp.permission_id) as permission_ids
FROM account AS a
JOIN role_permission AS rp
ON rp.role_id = a.role_id
WHERE a.id = 1902
......或者......
SELECT username
FROM account
WHERE id = 1902;
SELECT permission_id
FROM account_permission
WHERE account_id = 1902
跟單查詢,我得到我的結果完全一樣,我希望他們。有了兩個查詢,我必須使用第二個結果集在應用程序(PHP)中創建以逗號分隔的列表。
是否有任何性能原因不選擇第一個選項?我之前從未使用過GROUP_CONCAT,所以我不知道它的含義,在性能方面。