我最近一直在试验Redis和MongoDB,似乎有时你会在MongoDB或Redis中存储一个id数组。我会坚持使用Redis这个问题,因为我问MySQL IN运算符。
我想知道如何在IN操作符中列出大量(300-3000)的id,它看起来像这样:
SELECT id, name, price
FROM products
WHERE id IN (1, 2, 3, 4, ...... 3000)
想象一些简单的产品和类别表,你可能通常加入在一起从一个特定类别的产品。在上面的示例中,您可以看到在Redis中的一个给定类别(类别:4:product_ids)中,我返回id为4的类别中的所有产品ID,并将它们放在IN操作符中的上述SELECT查询中。
这是怎么表现的?
这是一个“依赖”的情况吗?还是有一个具体的“这是(不可接受的)”或“快速”或“慢”或我应该添加一个LIMIT 25,或者没有帮助?
SELECT id, name, price
FROM products
WHERE id IN (1, 2, 3, 4, ...... 3000)
LIMIT 25
或者我应该修剪由Redis返回的产品ID数组,将其限制为25,并且只向查询中添加25个ID,而不是从查询中将其添加到25,而不是将其限制为25。
SELECT id, name, price
FROM products
WHERE id IN (1, 2, 3, 4, ...... 25)
任何建议/反馈非常感谢!