我們有一個我們剛開始開發的Rails3應用程序。我們在兩個模型之間使用has_and_belongs_to_many關係。每當我們使用這些模型的一個時間,ActiveRecord的執行對連接表一個DESCRIBE查詢,如:ActiveRecord爲與MySQL的has_and_belongs_to_many關係生成昂貴的DESCRIBE查詢
SQL (1.1ms) describe `articles_tags`
這些查詢是比較昂貴的(即比實際SELECT查詢慢10倍以上)並且經常執行。它們對我來說似乎沒有必要:由於has_and_belongs_to_many關係,表格會自動生成,所以ActiveRecord應該已經知道它的結構(只是一個article_id和一個tag_id列)。
這種行爲是否有很好的理由?如果不是,我該如何阻止它發生?