【发布时间】:2015-06-20 16:20:13
【问题描述】:
我将首先解释我的场景:我正在创建一个 MMORPG,并且我希望更好地了解在库存中存储物品的最有效方式。根据我的研究,我发现大多数游戏都有一个 INVENTORY 表,其中的行包含 ITEM_ID、ITEM_QUANTITY、USER_ID 和 SLOT_ID。
我认为这个表可能有数百万行。
所以如果我使用一个简单的语句,例如:
SELECT ITEM_ID
FROM INVENTORY
WHERE USER_ID = 25;
那么数据库如何真正“找到”要返回的结果呢?它是否必须“循环”每条记录直到找到匹配项?我担心的是,如果这确实是这样做的方式,那么某些 SELECT FROM WHERE 语句不会永远花费吗?
谢谢, 伊恩
【问题讨论】:
-
索引,伊恩,索引。
-
了解indexes。
-
另外请记住,您不必使用关系数据库。对于非常大的数据,您最终会切换到 hbase 之类的东西,它们处理数据检索的方式完全不同。
标签: mysql database select where