Design de banco de dados para configurações do usuário

Qual das seguintes opções, se houver alguma, é considerada a melhor prática ao projetar uma tabela usada para armazenar as configurações do usuário?

(OPÇÃO 1)

<code>USER_SETTINGS
-Id
-Code (example "Email_LimitMax")
-Value (example "5")
-UserId
</code>

(OPÇÃO 2)

crie uma nova tabela para cada configuração em que, por exemplo, as configurações de notificação exigiriam que você criasse:

<code>"USER_ALERT_SETTINGS"
-Id
-UserId
-EmailAdded (i.e true)
-EmailRemoved 
-PasswordChanged
...
...

"USER_EMAIL_SETTINGS"
-Id
-UserId
-EmailLimitMax
....
</code>

(OPÇÃO 3)

<code>"USER"
-Name
...
-ConfigXML
</code>

questionAnswers(5)

yourAnswerToTheQuestion