Say I wanted to allow a user to add an address to his profile (or several)... would it be more efficient to:
(a) Just add each new address to a table with an auto-inc ID and a field to store the User ID, then, when it is necessary to access or update the stored addresses, simply search that same table for addesses that belong to that particular User ID.
(b) Same as above (a), except add an additional field to the user table that contains a comma delimited list of address IDs... then when the addresses need to be accessed, simply search the address table WHERE ID IN($addresses), where $addresses is the address field containing the comma delimited address IDs.
My theory is that (b) should be more efficient than (a) because the query is using auto-incremented IDs instead of a single ID that is scattered randomnly throughout the column (assume that other user addresses will be added to the same table).
Is there a better way to do this, such as by creating an index on the tables or something similar? My only gripe about (b) is that you would have to modify that address field in the user table everytime you add a new entry to the address table.