首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Laravel whereIn不使用索引

Laravel whereIn不使用索引
EN

Stack Overflow用户
提问于 2022-07-16 03:35:26
回答 1查看 44关注 0票数 0

我找到了一个由Laravel生成的whereIn查询(我猜它是由急切的load with生成的。)

代码语言:javascript
运行
复制
select * from `domain_platforms` where `domain_platforms`.`domain` in ('54.197.198.150', 'aadarsh.in', 'affiliatealmanack.com', 'alexa.chinaz.com', 'allwebsites.net', 'amazonsales.com.ua', 'amazonsales.ru', 'anjana.co.in', 'articleforge.com', 'askdim.com', 'besafe.in', 'besthostingprice.com', 'betalist.com', 'bird.userdetected.com', 'blog.driftly.app', 'brilliantio.net', 'cafemmo.club', 'class.koalix.co.il', 'click.convertkit-mail2.com', 'codetime.io', 'couponsale.in', 'couponseeker.com', 'cupofcopyaudits.com', 'dasar.in', 'digitalmarketingsupermarket.com', 'domain.vsw.jp', 'fatrank.com', 'frequently-asked-questions.info', 'grammar-teacher.com', 'grammarteacher.substack.com', 'hansika.co.in', 'hypeurls.com', 'income.net.in', 'indiehackers.com', 'indiestartups.co', 'infodiscounts.com', 'jasperpieterse.com', 'jaugmente.com', 'jens.marketing', 'kavita.pw', 'ketaki.co.in', 'listit.pw', 'love.net.in', 'lumeaseoppc.ro', 'muchmore.in', 'niche.surf', 'nichepursuits.com', 'nichesurfer.com', 'nichewit.com', 'nitter.namazso.eu', 'offbeatfreelancer.online', 'officialwebsites.in', 'onemanarmy.in', 'onlinefestival.in', 'onlinenewspaper.in', 'ppp.twaino.com', 'priyasha.pw', 'producthunt.com', 'productific.com', 'prousmanhussain.com', 'rankmakers.katlinks.io', 'region.co.in', 'richniches.com', 'rikreviews.com', 'roberto.digital', 'saashub.com', 'seothesis.com', 'seotoolbelt.co', 'seotoolview.com', 'site-checker.org', 'sitescrawl.com', 'skipblast.com', 'soumettre.fr', 'startupscrushing.com', 'surekha.co.in', 'sushila.pw', 'tgstat.ru', 'topdoma.in', 'toplist.co.in', 'topmillion.net', 'trendystartups.com', 'twaino.com', 'twisave.com', 'urldirectory.net', 'urllinking.com', 'webandseo.fr', 'webhorspiste.com', 'webmaster-freelance.net', 'webworker.club', 'wpeagle.com', 'zenspill.com', 'zeroniche.com')

我复制该查询并在其上运行EXPLAIN,但结果表明该查询不使用索引。

这很奇怪,因为我为那个表创建了很多索引

我认为在运行这个查询时,应该使用domain_platforms_domain_index,但它不是。有人知道原因吗?谢谢!

EN

回答 1

Stack Overflow用户

发布于 2022-07-16 04:55:30

首先请看MySQL如何使用索引

有时MySQL不使用索引,即使索引是可用的。出现这种情况的情况之一是,优化器估计使用索引将需要MySQL访问表中很大百分比的行。(在这种情况下,表扫描可能要快得多,因为它需要更少的搜索。)

另外,您可以在某些情况下使用max_seeks_for_key属性在MySQL中。

请参阅表扫描避免

与IN子句匹配的行百分比是多少?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73001334

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档