If performance was the only criteria in your design strategy, you would choose 1. A very bad choice, that would give you a lot of problems in a later stage of your problems.
Databases should be designed with normalization in mind, so without any doubt, you must choose option 2!
Update
Example of normalized and not normalized: suppose we have a table with dvd rentals, and want to keep track of who rented the dvd:
flat table:
CREATE TABLE DVD (
DvdId INT NOT NULL AUTO_INCREMENT,
DvdTitle varchar(64),
Rental1 varchar(64),
Rental2 varchar(64),
Rental3 varchar(64),
Primary Key(DvdId)
);
There is room for 3 rental entries, after that there is trouble. Beside that, when there is a extra field needed for the phone number of the customers, 3 extra fields must be made.
First step normalization:
CREATE TABLE DVD (
DvdId INT NOT NULL AUTO_INCREMENT,
DvdTitle varchar(64),
Primary Key(DvdId)
);
CREATE TABLE Rentals (
RentalId INT NOT NULL AUTO_INCREMENT,
DvdId INT NOT NULL,
CustomerName varchar(64),
RentalDate DateTime,
Primary Key(RentalId)
);
This is better, but still not fully normalized. What if a customer rents the same dvd twice. Then there would be a double customer entry in the rentals table.
Final:
CREATE TABLE DVD (
DvdId INT NOT NULL AUTO_INCREMENT,
DvdTitle varchar(64),
Primary Key(DvdId)
);
CREATE TABLE Rentals (
RentalId INT NOT NULL AUTO_INCREMENT,
DvdId INT NOT NULL,
CustomerId INT NOT NULL,
RentalDate DateTime,
Primary Key(RentalId)
);
CREATE TABLE Customers (
CustomerId INT NOT NULL AUTO_INCREMENT,
CustomerName varchar(64),
Primary Key(CustomerId)
);