我有一个相当大的网站,每天大约有10万次搜索。
我的mysql目前在服务器上造成非常高的负载,我怀疑我的表存储了搜索查询的原因。
现在mysql表只有2列:日期和查询。我每次有人搜索某些内容时都会添加新查询,然后另一个脚本会删除超过24小时的查询。网站上显示最近30个查询,按日期排序。
这可能是高负荷的原因吗?添加带有ID的列或使用任何其他方法存储搜索会产生很大的不同? THX
答案 0 :(得分:1)
我建议您查看索引,并可能添加一些专门的搜索工具,例如Sphinx。
我建议您首先在搜索查询上运行EXPLAIN
查询。
如果您的表有大量写入,则不应使用MyISAM引擎,因为它会锁定所有表,而不仅仅是行。你应该使用InnoDB引擎。