我习惯使用MySQL,现在正在努力理解如何使用键值存储。 我没有看到好的新手示例来说明数据库设计以及如何插入和获取信息。
这是否是将MySQL中的数据存储在键值存储中的正确表示?
TYPE: MySQL
TABLE: users
COLUMNS: user_id(primary), username, location
TYPE: Key Value Store
TABLE: users
KEY: user_id
VALUES: username, location
所以,如果我上面的理解是正确的。拉取通用用户信息足够简单易懂。但是在键值存储中如何执行以下查询呢?
SELECT username FROM users WHERE location = 'mexico'
我认为你可以很容易地通过创建另一个表来实现这一点。(假设有超过5,000个用户,如果只有几百个用户,我相信还有其他方法可以实现)
--Original Table--
TYPE: Key Value Store
TABLE: users
KEY: user_id
VALUES: username, location
--Additional "query" Table--
TYPE: Key Value Store
TABLE: user-location
KEY: location
VALUES: user_id
然而,当有新成员加入,更新他们的位置等情况时,现在我们需要调整两个表。这似乎不是什么大问题,只需在应用程序代码中非常准确即可。
这是解决这些问题的最佳方法吗?还是我漏掉了什么重要的东西?