簡體   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