繁体   English   中英

将非MySQL列表/数组/数据与MySQL行进行比较?

[英]Comparing Non MySQL List/Array/Data With MySQL rows?

我正在开发一个iOS社交应用程序。 我目前正在建立“查找朋友”部分。

我有一个“用户”表,它是这样的:

-user_id  -user_name  ... -twitter_id   -facebook_id   -instagram_id
948913    yagiz           2134421       2132412        4314124312

现在,例如,当我尝试寻找朋友时,应用程序会在后台执行此操作:

  • 从选定的社交网络应用程序(Twitter / Facebook / Instagram)获取当前用户的全部关注者列表。 响应是一个由用户ID组成的简单数组。

  • 对于每个Twitter / Facebook / Instagram id,运行一个查询,检查它是否在应用程序数据库中。

目前,这很好。 但是我有点认为这不是有效的方法。 因为如果用户关注5K,则Twitter / Facebook / Instagram应用程序上的人员将运行5K查询。

所以我想问比较非MySQL列表/数组/数据和MySQL行的最佳方法是什么?

您可以使用进行单个查询

WHERE ... IN('1', '2') 

如果您具有ID数组,则可以这样操作:

$twitterIds = array(
    1234,
    1235,
    1236
);

// $twitterIdString = '1234','1235','1236'
$twitterIdString = "'" . implode("','", $twitterIds) . "'";

// $queryStub = WHERE `-twitter_id` IN('1234','1235','1236')
$queryStub = "WHERE `-twitter_id` IN(" . $twitterIdString . ")";

这将仅返回数据库中的twitter用户。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM