Send multiple broadcasts from handle_in

When user sends a message to channel i want to send notification to (largish) portion of all the users based on condition(within x km of said user).
If i understand correctly filtering clients in intercept(single channel for all users) would ping the database 1000 times(to check if user should get the message), right? Alternative would be to send broadcasts only to desired users(each of which would have its own notification channel).
How can i send broadcasts to all correct user channels? Would time difference between message arrival for user 1 and user 10000 be noticeable?