の有用性がとても気に入りましたCREATE VIEW。たとえば、グローバル値と特定の値を取得COALESCE(post.publish, profile.publish)できるため、publishisの場合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値が必要な場合は?
これに関するあなたの洞察と考えを共有してください。各ソリューションの長所と短所について、ご意見をお聞かせください。私が言及していないものになることもあります。