の有用性がとても気に入りましたCREATE VIEW
。たとえば、グローバル値と特定の値を取得COALESCE(post.publish, profile.publish)
できるため、publish
isの場合NULL
、代わりにグローバル値が取得されます。
パフォーマンスと論理の両方の観点から私が少し興味を持っている部分は、これを既存のテーブルと一緒にどのように使用するかです。テーブルがあるとしましょう:
CREATE TABLE post (
id INT,
profile_id INT,
name VARCHAR,
publish ENUM('TRUE', 'FALSE') NULL
)
CREATE VIEW
次のように実行するのが最善でしょうか:
CREATE VIEW post_info AS
SELECT post.*, COALESCE(post.publish, profile.publish) AS publish
FROM post
INNER JOIN profile
ON post.profile_id = profile.id
そして、場合にのみ使用するpost_info
かSELECT
、または:
CREATE VIEW post_info AS
SELECT post.id, COALESCE(post.publish, profile.publish) AS publish
FROM post
INNER JOIN profile
ON post.profile_id = profile.id
そしてJOIN
post_info
、追加post
のSELECT
値が必要な場合は?
これに関するあなたの洞察と考えを共有してください。各ソリューションの長所と短所について、ご意見をお聞かせください。私が言及していないものになることもあります。