Besides, what I'm considering is if the church is super big and very complex, but only a little part will be seen by camera, then what should we do?
BSP trees aren't used like that anymore, and haven't been for a long time. When drawing with modern 3D hardware you don't use BSP trees to sort triangles, but usually choose whether or not to render the entire church, or all the desks in a room, using a portal or octree or similar. As you say, it's a waste of time to change states and use more draw-calls. 15 years ago this wasn't the case, as skipping a few triangles or pixels could save more time than a couple of state-changes, but that isn't the case anymore.