Indlæg og kategorier er sandsynligvis mange-til-mange, ikke én-til-mange.
En mange-til-mange relationstabel er bedst at lave sådan noget som
CREATE TABLE a_b (
a_id ... NOT NULL,
b_id ... NOT NULL,
PRIMARY KEY (a_id, b_id),
INDEX(b_id, a_id) -- include this if you need to go both directions
) ENGINE = InnoDB;
Dermed får du automatisk "klyngede" opslag i begge retninger, og du undgår det unødvendige kunstige id til tabellen.
(For øvrigt, N.B., en implicit PK er 6 bytes, ikke 8. Der er et langt indlæg af Jeremy Cole om emnet.)
Et en-til-mange forhold har ikke brug for denne ekstra tabel. Hav i stedet et id inde i den anden tabel. For eksempel vil en by-tabel have id'et for landet i sig.