问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

mysql全文索引 很慢,速度不如like的百分之一

发布网友 发布时间:2022-04-07 14:24

我来回答

2个回答

热心网友 时间:2022-04-07 15:54

从explain开始说起吧,很显然第一个sql语句压根没用任何索引(key列内什么都没有)!第二个倒是用到索引,却是主键索引,并非你添加的fulltext索引!

接下来,分析下原因:
sql1:执行步骤:先s_a和s_a_t两表笛卡尔集,然后筛选满足on条件的,接着在从结果集中筛选满足where字句的;该过程中处理的记录条目为69*105479,并且未用到任何索引,未用到的原因可能是你先定义了一个复合索引a_concent_split(a_title_split,a_content_split),然后又定义了一个a_content_split2(a_content_split),当引擎执行查找优化时候会先用到a_content_split,可是又由于复合索引是从最左边开始(不能跳过第一个字段),而你却忽略了a_title_split字段,故未能正常使用索引。
sql2:执行步骤:先调用where字句对s_a表进行筛选形成新的s_a表,然后与s_a_t表笛卡尔积,再利用on字句筛选,最后再次利用where字句形成最终结果集;经过第一个where,该过程处理结果集会大幅少于sql1,并且该过程还用到了主键索引。你所设置的fulltext索引再次没有用到,原因是like字句中开始部分为模糊匹配%时候用不了全文索引,这与fulltext存储机制有关。

另,你说的删除速度慢,原因:设置fulltext字段设置太多,fulltext索引在更新删除大量数据时候,需要同步更改索引,你的三个fulltext压力太大!

改进方法:1、删除a_content_split索引重试 2、在删除时候打开delay_key_write变量

有关fulltext比较复杂,用的时候要谨慎设置,还有很多参数也对其有影响
另外sql语句中外连接有关on where字句也是个比较绕的地方,两者你都占了,唉,所以我写的略复杂,前天看到该问题,思忖两天这才作答

望有结果了予以回复交流!追问好的,这个问题我放一下,明后天在处理,今天还有其他事情要做,
谢谢你,这事好歹有点眉路了,
结果一定告诉你

热心网友 时间:2022-04-07 17:12

涉及到中文索引时,使用mysql自带的索引在对中文索引时会有瓶颈的 建议使用sphinx 等全文索引引擎,同时在查询时避免使用* 而使用具体的查询字段代替*, mysql的性能优化有很多中方式
对数据库有大量数据的读写时,使用读写分离和数据库数据同步来实现数据的读和写
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果电脑电池充不进电苹果电脑充不进去电是怎么回事 苹果电脑不充电没反应苹果电脑充电指示灯不亮充不了电怎么办 狗狗更加忠诚护家、善解人意,养一只宠物陪伴自己,泰迪能长多大... 描写泰迪狗的外形和特点的句子 国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? 描写高兴时的句子 如何用(高兴)(难过)写三句话? 我有5G专用流量和1G. 每次都是通用的先用 。 怎么样才能先用专用的再用通用的流量 移动怎么设置 先使用4G专用流量 手机怎么设置优先使用省内流量 专用流量怎么用? 知道酸菜鱼怎么做 如何巧做酸菜鱼 酸菜鱼有哪些做法? 怎么做最正宗的酸菜鱼? 好玩的多人互动游戏 晚会活动上有什么适合多人玩的游戏 酸菜鱼怎么弄,一步步的教我 三国中最后是谁当上了皇帝 司马炎统一三国后,魏蜀吴三位君主结局都是怎样的呢? 2021年5月22号双色球开奖号码 司马衷下一个皇上是谁? 天机六爻排盘 2021年5月23日 22:55 占问:下个月我桃花开吗? 辛丑年 癸巳月 辛 用丙烯原料在鞋子上画图案,怎么洗掉 司马绍之后是谁当皇帝 怎么去查找自己电脑的产品序列号? 炖羊骨头要多长时间 高压锅炖羊骨头要多久(羊棒骨敲碎了)我要的是羊汤 羊骨头了炖多长时间才能炖白 羊骨头一般在家怎么炖?急用! 闪云联智能路由器怎样设置- 问一问 闪云联路由器怎么安装了 闪云联智能路由器初始密码? 闪云联路由器正常的显示灯 闪云联syl450进路由器地址 闪云联路由器是用tp软件吗 闪云联路由器是什么品牌 怎么设置路由器,路由器两个灯一起闪 路由器设置灯一直闪怎么处理 闪云ys300s路由器是什么牌子? window10Excel表折线图复制到outlook折线图颜色不一样,如何设置,谢谢 PS里为什么不能上色,颜色总是灰色的 ps明明选择是红色开始画出来是灰色 不管选择什么颜色都是 画出来黑白灰? ps填充颜色是灰色的 我特别想变成赛罗奥特曼怎么办?都要疯了