If I am understanding you, then a query like this should not be negatively impacted, right?
// Build query.
$q3 = "INSERT INTO comment(article_id, member_id, comment_no, body, created_on)
VALUES(?, ?, ?, ?, NOW())";
Some of my tables have 3 and 4 Composite Keys, and it is a real PITA to have to reference a particular record when this is all you have...
article_id question_id member_id
1 1 19
1 1 20
1 1 51
In the case of a Junction Table like that, this would be much more practical...
id article_id question_id member_id
25 1 1 19
26 1 1 20
27 1 1 51
The second example allows me to...
1.) Visually spot a record with ease
2.) Helps to clearly define the exact order in which records were entered
3.) If I ever needed to use this table as a parent table, then it would be much easier to do a join using the "id" field versus the other three fields
4.) It gives me another way to sort records to find what I need
So there are 4 reasons right there off the top of my head...
And having one extra "integer" field in a table adds virtually no extra space.
It is a Date-Time field of when the person subscribed.