我有一个大的MySQL表(~10万行,6.5G)我用它来读写.这是MyISAM,由于MyISAM对写入的所有表锁定,我得到了很多锁.
我决定尝试转移到推荐用于读/写表的InnoDB,它只锁定写入时的特定行.
转换后,我测试了插入语句,结果表明它在InnoDB表中比在MyISAM表中多花了15倍(从0.1秒到1.5秒).这是为什么?
我还没有为InnoDB配置任何东西,并且还计划添加分区,但这个数字对我来说仍然是出乎意料的.当然表是相同的,相同的索引等.
根据要求提供的其他信息:
2个索引.primary是Big INT类型的data_id,varchar(255)类型的非唯一user_id.
插入大约有150行,具有相同的user_id.
索引大小:MyISAM为200 MB,InnoDB为400 MB
如果我理解正确,Twitter只允许您检查用户收藏哪些推文,而不是其他用户收藏哪些推文.(例如http://api.twitter.com/1/favorites/aplusk.xml).
像Favstar.fm这样的网站提供了这个,我想知道怎么做?
将所有用户收藏夹抓取并将其交给某个用户似乎是不合理的.(即使您只抓取该用户的朋友)
更新:Favstar实时了解新收藏的推文.它们似乎不太可能抓住你所有的朋友来获得它.