Search Perfomance and Search in Field List

Hey Guys,

I’m planning my DB scheme to store music library and I decided to have the following types:

Artist (contain only info from Artists)
Music (contain music info plus, Artist type, label type,
Label (Contain only infor from Label)
Dj_Set (Contain set info plus, Artist type [List], music type [List])

***** ISSUE
All good so far, the problem comes when some musics are from a collab between two or more artists, example:

Disclosure, Fatoumata Diawara - Douha

In that case the artist stored in my type is “Disclosure, Fatoumata Diawara” and I already have an artist thing ‘Disclosure’ and another ‘Fatoumata Diawara’ on my DB.

On my app I will have a Artist search bar to find all Dj_set from this artist, and what I want to achieve is, if the user search for “Disclosure” all the dj_set that has thist artist comes up including ‘Disclosure, Fatoumata Diawara

I know I could use the search cointains, but how is the perfomance when I have more than 5Millions djset in my DB?

I also could create an artist_alias in the Artist type, so the id ‘Disclosure’ would have an artist_alias ‘Disclosure, Fatoumata Diawara’ but how would you recommend doing a search before adding the “Disclosure, Fatoumata Diawara”, that would take a really long time to search all DB to match the Disclosure.

sorry for the massive explanation, Just hard to explain the situation.

If I wasnt clear, please let me know.