6
MySQL“ IN”运算符在(大)数量值上的性能
我最近一直在使用Redis和MongoDB进行实验,似乎经常会在MongoDB或Redis中存储ID数组。因为我要询问MySQL IN运算符,所以我会坚持使用Redis 。 我想知道在IN运算符中列出大量(300-3000)id的性能如何,看起来像这样: SELECT id, name, price FROM products WHERE id IN (1, 2, 3, 4, ...... 3000) 想象一下简单的产品和类别表,您通常可以将它们结合在一起以从某个类别中获得产品。在上面的示例中,您可以看到在Redis()中的给定类别下,我返回了ID为4的类别中的所有产品ID,并将其放置在运算符内的上述查询中。category:4:product_idsSELECTIN 这表现如何? 这是“取决于情况”的情况吗?还是有一个具体的“不可接受”,“快速”或“缓慢”,或者我应该添加LIMIT 25,还是没有帮助? SELECT id, name, price FROM products WHERE id IN (1, 2, 3, 4, ...... 3000) LIMIT 25 还是应该修剪Redis返回的产品ID的数组以将其限制为25,并且仅将25个ID添加到查询中而不是添加3000,并LIMIT从查询内部将其添加到25? SELECT id, name, price FROM products WHERE id IN …