我只是想知道,如果我们在Mysql中有两个表,并且每个表都有数百万条记录。所以我们想要连接两个表的一部分。我们如何才能做到这一点。根据我的说法,如果我们使用limit,那么它首先查询所有记录,然后限制结果。将非常感谢您的建议。谢谢
假设有两个表。用户:(自动递增中的id) id,姓名,电子邮件,性别
user_actions:(user_id在这里是外键) id,user_id,action_id,action_date
我们需要查询用户的操作,但不是一次查询所有操作,因为表中的数据非常庞大
发布于 2012-02-18 21:49:00
您应该在日期字段上添加索引,然后使用where子句表示小于一个日期而大于另一个日期。索引应该允许您不搜索限制内的所有记录。
发布于 2012-02-18 21:23:20
您可以使用WHERE子句来限制联接中使用的记录。如果您想要更多详细信息,您必须提供有关如何选择表的部分的更多详细信息。
发布于 2012-02-18 21:34:43
如果希望向最终用户显示结果,可以使用分页策略逐页显示结果(例如,每页显示50行)。您可以使用mysql的limit关键字来生成每个页面。
您可以找到示例here。
https://stackoverflow.com/questions/9341533
复制相似问题