Правилното проектиране на базата данни е много важно и в последствие може да ти създаде адски главоболия. Преди да направиш каквото и да е било уеб приложение - малко, голямо, важното е връзките между таблиците да са направени възможно най-оптимизирано. Едно е връзката да е user_id, съвсем друго е да е user_name или user_mail. Свали WordPress или друг CMS, разгледай внимателно как точно е проектирана базата данни. Направи си изводи, прецени, и най-важното ТЕСТВАЙ.
При писането на кода гледай да оптимизираш всичко. Абсолютно всичко, което е възможно. Един пример. Имаш голям новинарски сайт с хиляди посещения дневно. Ако не кешираш новините ще натовариш сървъра допълнително. Да, коментарите под тях са динамични и се променят постоянно и това не е решение, но новината е една и съща, независимо дали я отваряш два или двеста и два пъти. Всъщност по тази тема може да се говори много и всичко е до конкретно приложение. Само един забравен LIMIT както каза админа може да ти създаде адски главоболия. Така че според мен най-оптимизирания вариант се създава с много, ама много тестване.