Normalmente cuando se trabaja con
SGBD's (Sistemas de Gestión de Base de Datos) no se aplican índices a nivel de componentes, porque se supone que ese trabajado de planificación y optimización queda a cargo del servidor de Bases de Datos. A diferencia de cuando trabajamos con Bases de datos locales(DBase, Accesss, Paradox,...) que ese trabajo quedaba para el programador.
Muchos componentes actuales siguen manteniendo esas propiedades por compatibilidad o simplemente porque entre los componenetes disponibles (aunque trabajemos con SGBD's) sigue existiendo uno para trabajar en memoria (
TFDMemTable en el caso de FireDAC).
En ese caso sí tiene sentido trabajar con índices porque estamos convirtiendo el trabajo con un servidor de Base de Datos en un trabajo similar a una Base de Datos de escritorio, ya que
TFDMemTable lo que hace es traer todos los datos de la tabla a memoria.
Para ellos debes definir los índices en la
propiedad Indexes y luego activar el que quieras utilizando la
propiedad IndexName.
El el caso de
TFDTable tal y como te he dicho puedes:
1) Definir los índices en
Indexes y liuego activarlo con
IndexName
2) Definiendo directamente la propiedad
IndexFieldName que es excluyente con la anterior.
En ambos casos lo que hece el SGBD es "convertir" eso en un
ORDER BY en la Base de Datos.
La otra opción en estos casos, es utilizar un
TFDQuery y definir la sentencia SQL necesaria con la parte
ORDER BY que necesitemos.