我正在构建一组自定义声明,每个声明都定义了有关用户的信息,例如年龄、性别、地址等。然后声明作为键/值对存储在数据库中。可以动态添加声明类型,以便在需要时扩展用户信息。
但是,我遇到了一个轻微的限制,即要求声明值是字符串。特别是,这在有大量用户(> 100.000)的情况下相当明显,我想执行一个复杂的搜索查询,即我正在寻找所有年龄 > 50 的用户。假设 BirthDate 是另一个声明以字符串形式存储在数据库中,在直接针对 datetime 类型的列发出查询或搜索所有用户的声明集这两种场景之间,SQL 性能肯定会有所损失。
如何处理?