Optymalizacja bazy danych jest to drugi sposób na poprawienie wydajności DBMS i jest to proces,
który rozpoczyna się w momencie projektowania bazy danych.
Optymalizacja obejmuje takie zaprojektowanie bazy, że przy minimalnych zasobach sprzętowych uzyskujemy maksymalną wydajność bazy.
Pierwszym elementem podlegającym optymalizacji jest odpowiednie dobranie atrybutów, kluczów głównych i obcych w tabeli. Kolejnym elementem jest zoptymalizowanie kwerend i zapytań do bazy oraz przetestowaniae bazy narzędziami testowymi.
Podstawowym problemem występującym najczęściej jest problem połączenia z bazą danych. W celu właściwego zaprojektowania połączenia z bazą danych potrzebna jest znajomość trasy którą będzie przebiegać połączenie oraz portów TCP służących do komunikacji i wymiany danych.
Kolejnym problemem jest stosowanie właściwego nazewnictwa, które pomaga nam w identyfikowaniu encji i ich atrybutów oraz formuowaniu właściwych zapytań.
Dużo problemów może sprawiać definiowanie wielkości i rodzaju pola. Mały zakres znaków w polu moźe uniemożliwić wpisanie pełnej nazwy, natomiast zbyt duży zwiększy objętość bazy danych. Należy unikać też niekoniecznych danych umieszczanych w tabelach.
Do pełnego zoptymalizowania bazy danych należy wziąć pod rozwagę jeszcze inne czynniki mające wpływ na wydajność i niezawodność bazy danych.
Do tych czynników można zaliczyć: