La réponse courte est: Oui, ils sont moins efficaces.
Plus, réponse plus alambiquée est:
Oui, ils sont probablement moins efficaces. Cela dépend du SGBD que vous utilisez et de la taille de votre table, etc., etc. Les champs TEXT ont une largeur variable, et en tant que tel, le SGBD doit faire plus de travail lorsqu'il essaie de trouver des enregistrements. L'impact sur vos performances est directement proportionnel à l'efficacité de votre SGBD en général, à la quantité de données stockées sur les lignes de table et à l'optimisation des tables de longueurs fixes.
Je sais que MySQL fonctionne plus vite avec des lignes de table de longueur fixe, mais vous devez dire que la table peut d'abord être traitée comme une table de longueur fixe. Je n'ai pas vraiment d'expérience pratique avec d'autres SGBD pour pouvoir relier les chiffres réels. Mais sur les tables avec beaucoup (lit un million ou plus) d'enregistrements, cela peut faire une différence significative. Les tables plus petites auront peu ou pas de différence pratique.
Je pense que tout a été dit, dans le cas de MySQL, il y a aussi "INDEX READ" pour les colonnes varchar et toujours un "ROW READ" pour les colonnes de texte. Ce qui rend une requête LIKE plus lente sur une colonne TEXT. – Till