我已经习惯了 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
然而,现在我们需要在有人新加入、更新他们的位置等时调整两个表。我想这不是什么大不了的事,你只需要对你的应用程序代码非常准确。
这是解决这些问题的最好方法吗?还是我错过了什么?