L = [A+B, .. ] Вот тут вот не совсем понятно что ты хочешь сделать. Толи значения кортежей сложить, толи что. Покажи пример как должен результат выглядеть.
sim3x: icontains я бы сказал что использовать можно разве что для отладки, т.к. он не может использовать индексы совсем . В данном случаем мне нужно по полному совпадению, а не частичному, это скорее iexact. Он преобразуется в SQL вида WHERE UPPER(name) LIKE UPPER('"aaa"). А это выражение в постгресе не использует индекс по строке. Но тут может помощь функциональный индекс CREATE INDEX upper_name_idx ON test1 (upper(name));
Вопрос не в том нужно ли создавать индекс, а в том на каком уровне это должно происходить. При чему тат админ БД, вообще не понятно, он же миграции в приложения писать не полезет. К тому же про админов исключительно БД я не слышал. Есть админы эксплуатации, они за много что отвечают, но точно не за индексы в таблицах и есть DBA, не уверен что они пишут приложения.