Ja genau, es ist eine Designfrage.
Man braucht nicht immer alle Felder und wenn man bei etwas komplexeren SQLs (JOINS, Subselects, ...), wo im Zugriffsplan nur wegen einer fehlenden Spalte, die DB auf die Tabelle zugreifen muss, da diese im Index nicht vorhanden ist, dann schaut man sich an ob diese eine Spalte nicht in den Index mit hinein genommen werden kann, sodass die DB eben nicht mehr auf die Tabelle zugreifen muss und mit den Informationen aus dem Index weiter arbeiten kann.
Probier es doch einmal aus und schau dir den Zugriffsplan an.

Berücksichtigt man das nicht, schränkt man sich im Bereich Performanceoptimierung ein.
Es gibt ja viele Möglichkeiten mit der man eine Bessere Performance bekommen kann, wie MQTs, EVI, Index mit Where Bedingung, Partitionierung, das SQL selbst umzubauen uvm.