Прежде всего два запроса не эквивалентны .В случае если в searchTerm может использоваться пробел (ограничитель конкатенации), первый запрос может не совпадать, а второй может совпадать, поскольку совпадение охватывает два или три столбца.
Производительность будет одинаковой, поскольку оба запроса выполняют полное сканирование таблицы, а разница только в условии фильтра
Первый запрос
1 - filter("NAME" IS NOT NULL AND "NAME" IS NOT NULL AND "NAME" LIKE
'%searchTerm%' OR "LASTNAME" IS NOT NULL AND "LASTNAME" IS NOT NULL AND
"LASTNAME" LIKE '%searchTerm%' OR "EMAIL" IS NOT NULL AND "EMAIL" IS
NOT NULL AND "EMAIL" LIKE '%searchTerm%')
Второй запрос
1 - filter("NAME"||' '||"LASTNAME"||' '||"EMAIL" LIKE '%searchTerm%')
Таким образом, в основном ни один запрос не подходит для поиска клиентов по нетривиальным таблицам .
Обычно вы хотите ограничить поиск до column LIKE 'xxxxxx%'
, который может использовать индекс.