Hi bas_brain,
I can't help with parts 2 and 3 of your question.
For 1) you can improve the performance by structuring the tables around the data you will be requesting the most. E.g. if there are several columns you will always be selecting and others than you'll use rarely you can split the tables along those lines.
Also, constructing the tables to avoid redundant data is a good idea (have a look and 2nd and 3rd normal forms on the net).
For 4) select * takes everything form the table. This obviously takes longer than just selecting what you actually need.
Hope that helps,
Reputation Points: 78
Solved Threads: 118
Practically a Master Poster
Offline 633 posts
since Nov 2007