1 of 2

Encryption key splitted into parts and stored in different places

Say, I have encrypted data in a database. How wise is it to break a secret encryption key into several parts and save each one in a different place?

Namely:

key1 = get_key1_from_remote_server()
key2 = get_key2_from_env_variable()
key3 = get_key3_from_some_protected_storage()

full_key = key1 + key2 + key3
enc_data = encrypt(data, full_key)

Thus a hacker will have to gain access to all those locations to descrypt data.

Is this more secure that to have a whole key stored in one place?