Agreed, but with MySQL, the momory you have the better as you can tweak many different caches which will dramatically improve performance. Obviously, you will notice that more on a busy site
As to a book, I don't actually know. I've learnt this though having a go, reading articles in magazines and online. When it comes to this subject Google is really your friend.
For development, try and break the project down into smaller chunks based on functional areas, some that spring to mind are catalogue, basket, checkout and content pages.
I may have put a slightly misleading thing in my previous post. When I talked about designing last, I meant visual design. The way I would approach this is as follows.
1. Produce high level spec of system (you have done that)
2. Identify functional areas
3. Design sytem workflow between functional areas - again high level
4. Spend some time getting a basic view of each functional area
By now you know where you think you are going. Don't worry, as the project progresses this will change. It always does
5. Pick a functional area and produce a detailed design of the system.
6. Code and test.
It is possible to break down each area further. Test early and test often. It is better to change two lines of code and test than to change two hundred lines of code and then test. At the very least only change one function at a time.
When I talk about design above I am not talking about visual design which should be left to the end, plan for it though by including the CSS classes in your output.
Hope this helps
[edit]
Some things to Google:
Cross site scripting
SQL Injection
Securing my website from attacks
(Remember: don't have nightmares

)
[/edit]