mysql中in运算符_MySQL“IN”运算符性能(大?)数值

我最近一直在试验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)

任何建议/反馈非常感谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值