Acho que você resumiu bem. Outra coisa que você pode considerar é apenas mover o "texto" para outra tabela... e juntar de volta ao registro mestre. Dessa forma, toda vez que você estiver realmente usando a tabela mestre, esses dados extras de onde o "texto" está nem ocuparão espaço no registro mestre. Quando você precisar, você pode se juntar a essa mesa. Dessa forma, você pode armazená-lo como um varchar caso queira fazer algo como " where text like ..."