我希望你能帮助我解决这个问题。我收到了即将更新到公开测试版2的推特服务(http://foller.me),但我不想这样做,直到我可以在至少2或3秒内发布页面为止。目前的版本很简单,但我正在开发的开发版本非常复杂。寻找MySQL优化和微调技巧
这是关于我的关系和配置文件表都包含约200万行。配置文件表包含一般的twitter用户信息,关系表包含均在UNIQUE索引中的[twitter_id
,followed_by
]条目。有一段时间运行的cron作业,并询问Twitter API有关用户关注者的信息,并将数据插入到关系数据库中。
我正在使用InnoDB,所以表未被锁定,但频繁更新,因此查询缓存没有获得足够的匹配,特别是在执行cron作业时。
我有类似SELECT screen_name FROM profiles WHERE twitter_id IN (SELECT followed_by FROM relations WHERE twitter_id = 'kovshenin')
的陈述。我相信这不是一个很好的方法,当我打开它时,这些是mysql-slow日志中出现的那些(以及其他很多)。
无论如何,我需要一些关于如何为我的项目实现良好运行时的一般技巧。
非常感谢。
我很乐意分享我们在发展TagCloud时发现的一些问题和解决方案。如果您想直接与我联系,请在2005年联系我。请访问http://blog.gahooa.com/about获取联系信息。 – gahooa 2009-07-07 14:22:21