Вызов функций в выборке для каждой записи почти всегда является плохой идеей с точки зрения производительности - дисковое пространство обычно намного «дешевле», чем загрузка ЦП (я заключаю это в кавычки, поскольку я не говорю о долларе расходы).
Большинство баз данных имеют тенденцию быть «больше прочитанным, чем записать», как однажды сказал мне мой наставник DBA; идеальное решение в этой ситуации - использовать триггер при вставке или обновлении строки, чтобы вычислить количество слов в этом столбце и сохранить их в другом столбце. Идеально, потому что число слов изменяется только при обновлении поля, поэтому лучше выполнять затрачиваемый на это время расчет в этой точке, а не (без необходимости) каждый раз, когда вы читаете запись.
Добавленное требуемое пространство будет минимальным, так как вы добавляете (короткое) целое число к длинной (строка), но вы обнаружите, что ваши запросы кричат, просто используя целочисленное поле (убедитесь, что вы указали его).