title: One common comments app vs. individual comment models in each Django app
body: <p>Assuming I have a Django/PostgreSQL powered video sharing site like YouTube - with an additional blog included: What's the better approach concerning performance when implementing comments?</p>
  
  <p>a) Having one comments app/model that is used for both, videos and blog posts. In this case, Django creates a single comments table, which holds an additional content type field, to determine whether a comment belongs to the blog or the video app.</p>
  
  <p>b) Having two separate comment models, one that lives inside the blog app, the other one lives in the video app. In this case, Django creates two separate database tables - and no content type field.</p>
  
  <p>Assuming we have millions of comments in each app, is there an advantage in using two separate database tables when retrieving all comments for a certain video? Or is using a database index on the content type fields just as efficient?</p>