2011-02-04 51 views
0

阿律背景信息哪种方式更快处理?

目前,我有一个解析的网站上(而不是由我控制)到MySQL数据库中的页面游戏(游戏内获得攻击日志)的脚本。我最近决定我想更快地升级它,并且我完全重新编码解析器,以便将数据存储到数组中。现在基于我的问题:

我的第一个版本目前有大约50列,每个单位时间一个用户丢失/剩下多少和其他一些零碎 - 如果用户经常没有使用实际上并没有失去一个单位,也没有失去这种单位。现在,如果我是JSON编码数组,并将其直接粘贴到数据库中

1)插入时会比当前的要快吗? 2)假设我需要将这些数据返回到首页并显示100条结果(只需要一个总结,因此只有3列在第一条路上被选中),如果我要以我的第一条路用一个select和while循环显示数据,它会比我更慢或更快从db中选择它,然后解码并处理它?

(另外,如果你知道一个更好的方式,不要犹豫,说:) - 或者我应该做的是两者的混合)

+0

我想指出你对这个非常有趣的阅读:http://bret.appspot.com/entry/how-friendfeed-uses-mysql – Alfred 2011-02-04 08:32:22

回答

1

问题与其说与插入,这你每个记录只做一次 - 但在阅读中。您将失去所有MySQL的数据处理能力,因为您只会在一个大文本字段中放置JSON块。

如果能够使用MySQL查询从数据库中选择需要的记录,而不是从数据库中获取所有记录并在内存中循环访问,那将会更具性能。

+0

是的,但例如,我有一个排行榜页面,选择每行/列在数据库中,这个数据库大约30k行大。然后我必须选择它并使用它。这是不是比在文本域的一部分有一个json var慢?我正在考虑用Id作为摘要等等Id放在那里自己的列(比如用户名等),json将用于庞大的数据。 – 2011-02-04 08:10:54