Question: I have a copy of the PAF (UK Postcode) database it is currently stored in a MySql Database, and i use it on my site to pre-fill address details, however the Database huge 28,000,000+ records and it is very slow to search.

Any ideas how I could slit the DB to improve performance?

Thanks for the help guys!

Answer: 
that is not a large database, not even a large table. you must set appropiate indexes over the table and you will get good performance
There could be several ideas:

* create indexes, meaningful ofcourse
* review your schema. Avoid using huge datatypes like INT, BIGINT, TEXT etc unless absolutely required
* optimize your queries so they use indexes, EXPLAIN statement might help
* split your table into multiple smaller tables, say for example based on zones - north, east, west, south etc.
* If your table doesn't require many INSERTs or UPDATEs, which I assume it might not being a postcode table, query cache can be a big help for faster queries

You will need to play around and see what option works best for you. But I think the first 2 should just be enough.

Hope it helps!