Ostatnio chciałem bliżej przyjrzeć się problemowi wyboru typów danych w MySQL. Znalazłem wiele artykułów na ten temat, niestety żaden z nich nie opisywał tego zagadnienia ze względu na szybkość wybierania/sortowania. Wszędzie był opisany tylko optymalny wybór ze względu na wielkość pola. Wydaje mi się, że w dzisiejszych czasach, gdy zwiększenie pojemności dysku/ów nie jest zbyt kosztowne, lepiej skupić się na szybkości wybierania danych. I tutaj mam pytanie, czy zna ktoś może, czytał ktoś jakiś fajny/obszerny artykuł na ten temat? Chodzi mi o coś, w czym będzie opisane np. czy jeśli ustawimy pole na MEDIUMINT lub na INT, to wyszukiwanie po którym polu szybciej zwróci nam oczekiwany rezultat, itp.

Druga sprawa, to podział danych pomiędzy tabelami.
Przypuścimy, że mamy portal z rejestracją użytkowników. Użytkownik może pisać komentarze do artykułów. Może wypełnić opisujący siebie profil wieloma polami, takimi jak np. wiek, zainteresowania, skąd jest, itp.
O ile od razu wiadomo, że treść komentarzy użytkowników musimy zamieścić w osobnej tabeli, to z polami profilu już zależy od nas. I teraz, czy oddzielić opis profilu od danych logowania/emaila i potem pobierać np przy wykorzystaniu JOIN-ów, czy trzymać to w jednej tabeli, itp jak zrobić to jak najwydajniej?
Być może znacie jakiś artykuł, który opisuje ten problem i moglibyście się nim podzielić.

Najbardziej interesują mnie linki do artykułów, ale także wasze przemyślenia/doświadczenia w tych sprawach.

Dzięki za pomoc.