I have about 28 million records to import into a mySql database. The record contains personal information about members in the US and will be searchable by states.

My question is, is it more efficient to break up the table into smaller tables as opposed to keeping everything in one big table? What I had in mind was to split them up into 50 seperate tables representing the 50 states something like this: members\_CA, members\_AZ, members\_TX, etc;

This way I could do a query like this:

```
'SELECT * FROM members_' . $_POST['state'] . ' WHERE members_name LIKE "John Doe" ';

```

This way I only have to deal with data for a given state at once. Intuitively it makes a lot of sense but I would be curious to hear other opinions.

Thanks in advance.