Поскольку вы не подстановочный знак поиска, вы можете выполнить этот поиск в одном запросе:
SELECT t.*
FROM table t
WHERE '".$_SESSION['username']."' IN (t.user1, t.use2, t.user3, t.user4, t.user5,
-- rest of the columns in the same pattern
t.user26, t.user27, t.user28, t.user29, t.user30)
Есть ли большая разница между использованием 1 к 30 запросам?
Да - запросы к базе данных следует считать дорогостоящими. Во-первых, накладные расходы связаны с тем, что код приложения отправляет запрос на сервер - SQL передается по TCP. Чем меньше запрос, тем короче передача TCP на сервер - может быть миллисекундами или наносекундами при тестировании одного запроса, но в многопользовательской настройке, которая действительно может сложиться. Тогда есть издержки самого запроса - получите только то, что вам нужно, что означает не использовать «SELECT *». Или зачем вам попадать в базу данных 30 раз, когда вы можете сделать это один раз?
Это трудно понять, когда вы имеете дело с системой, которая поддерживает вас (или, возможно, несколько человек), а приложение и база данных находятся на одном хосте (виртуальная машина - это другое дело). Но затраты все же складываются.