辅助键的用途是什么?假设我有一个表记录了所有签到(类似于 Foursquare),其中包含 id, user_id, location_id, post, time
列,并且可能有数百万行,许多人已经声明使用辅助键来加快进程。
为什么这样做? user_id
和 location_id
都应该是辅助键吗?
顺便说一句,我正在使用 mySQL ...
编辑: 会有一个页面列出/计算特定用户的所有签到,另一个页面列出所有签到特定位置的用户
mySQL 查询
类型 1
SELECT location_id FROM checkin WHERE user_id = 1234
SELECT user_id FROM checkin WHERE location_id = 4321
类型 2
SELECT COUNT(location_id) as num_users FROM checkin
SELECT COUNT(user_id) as num_checkins FROM checkin
最佳答案
键(也称为索引)用于加速查询。如果您想查看给定用户的所有签到,则需要在 user_id 字段上输入一个键。如果您想查看对给定位置的所有检查,您需要在 location_id 字段上建立索引。您可以在 mysql documentation 阅读更多信息
关于php - 次要键的用途,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6694278/