First option:
Creating custom taxonomy and then save domain as terms.
- Basically “taxonomy” is a grouping mechanism. In your requiremnt there would not be too many CPTs are of same taxonomy.
- For Taxonomy, you have to maintain 3 tables, wp_terms, wp_term_taxonomy and wp_term_relationships.
- So, while creating a NEWS (your CPT), you will fire queries on these 3 tables.
- While fetching domain(taxonomy) WordPress will make joins on these tables.
About:
1) Efficiency: You have to create custom taxonomy, assign it to post.
2) Speed: More joins, less speed.
3) Storage: Entry in 3 tables. ( 3 rows ).
Second option:
Create custom post meta for each post.
- For custom post meta, you need to code to show/save meta on an edit page.
About:
1) Efficiency: You need to add data in post meta field, that’s it.
2) Speed: Normally, WordPress fires query by joining 2 tables, wp_posts and wp_postmeta. No more joins, just specify meta key name.
3) Storage: Only one row in wp_postmeta table.
In future if you want to get all post IDs, just simple query on wp_postmeta table.