将数据存储在DB中以进行快速SELECT

I made a custom admin panel for a news website. The administrator can select many "position" when he choose where to publish. I'm using PHP and MySQL.

After that, I have to SELECT based on one "position" (every one "position" represents a container of news in the web site. Note that a news can be in many "position").

My question is: Which should be the best way to store the position?

I have considered:

  1. Serialize "position". CONS: Slow SELECT, so I will need to use LIKE
  2. Make a table with N boolean columns, where N is the number of avaible positions. CONS: N can usually change, so I will need to create new columns

Any ideas?

Finally, I used an extra table with 3 columns: "id news position" with foreign key "news position".