我正在開發一個數據庫,我需要創建一個查詢。該數據庫將保存有一個主表「警報」是涉及所有與該警報以下列方式中的其它表的信息從一般的警告信息:複雜的查詢策略
警報表包含以下幾列:analyzer_id,create_time_id( ...)和classification_id。 (警報與其餘表格之間爲1到n關係)
alert_has_source表包含以下列:alert_id和source_id。 (警報與源之間的關係爲n)
alert_has_targets包含以下列:alert_id和target_id。 (正對警報和目標米之間的關係)
我在mysql的愛好者,所以我不知道如果數據庫是精心設計的,這是表達方式信息。
我需要查詢表格分析器,分類,create_time,源(帶有節點和地址),目標(帶有節點和地址)的某些列需要根據表classification.ident =「log」 。
1)我應該在數據庫中創建一個視圖並提供查詢嗎?這表現不錯嗎?
2)關於查詢應該使用多個選擇還是內部聯接?
3)如何優化搜索由於我只需要數據庫的一部分?
1),你可以。 No.2)通常,INNER JOIN將勝過多個選擇。 3)指數是關鍵(原諒雙關語) – Strawberry