数据库如何遍历行?

时间:2015-04-14 21:34:26

标签: mysql database select where

我将从解释我的场景开始:我正在创建一个MMORPG,我希望更好地了解在库存中存储项目的最有效方法。根据我的研究,我发现大多数游戏都有一个INVENTORY表,其中行包含ITEM_ID,ITEM_QUANTITY,USER_ID和SLOT_ID。

我认为这个表可能有数百万行。

所以如果我使用一个简单的陈述,例如:

SELECT ITEM_ID
FROM INVENTORY
WHERE USER_ID = 25;

然后数据库如何真正“找到”返回的结果?是否必须“循环”每个记录才能找到匹配项?我担心的是,如果这实际上就是它的完成方式,那么一些SELECT FROM WHERE语句不会永远占用吗?

谢谢, 伊恩

1 个答案:

答案 0 :(得分:0)

您需要遵循表创建的一些基本原则。

  1. 有一个id列
  2. 保持表格规范化(在线查看表格规范化。你会发现很多东西)。
  3. 在列上添加索引。例如:在库存表中,如果您经常在where条件下使用它,则可以在user_id列上有索引。 user_id上的索引按user_id对表数据进行分组,从而加快了查询执行速度。