作者liisi (小心一点)
看板Database
标题Re: [SQL ] 如何改善 LIKE '%search%' 的效能?
时间Fri Aug 25 16:07:25 2017
想请问一下 假於架设另一台server跑同步
比如说 商品资料 有百万笔
即使我在另一台db作serach
但是资料量一样的话 透过模糊搜寻的时间 不也会一样吗?
另外 我去试了一下 虾皮或是奇摩拍卖的网站
他们的商品 都是破亿的!!
我透过奇摩 输入2组关键字作搜寻
结果不到一秒 就跑出结果来 (好快...)
如果不是主机强大的话
也是透过ES做到的吗?
※ 引述《DarkKiller (System hacked)》之铭言:
: 居然是十年前的文章... (想说居然是 Xapian...)
: 如果你的资料量还会再增加的话,现在主流的方式是用 Elasticsearch (ES) 架
: 设,你可以翻翻这本中文书:(虽然是讲怎麽分析的,但 ES 本身就有全文搜寻的
: 能力)
: https://www.kingstone.com.tw/book/book_page.asp?kmcode=2013120359772
: 如果没办法另外架设服务的话,另外架一台 MySQL server 跑 replication 同步
: ,这台 server 独立给 search 用也是一个方法... (国内某大站台以前是这样的
: 架构)
: ※ 引述《liisi (小心一点)》之铭言:
: : 大家午安
: : 目前也是遇到 like '%关键字%' 效能会变差的问题
: : 网站的商品数 超过一百万笔
: : 网站的使用族群 是所有消费者
: : 透过关键字 来模糊搜寻商品名称 甚至是二个以上的关键字来搜寻
: : ( 商品名称 like '%关键字A%' or 商品名称 like '%关键字B%' )
: : 测试过时间 需要 2 ~ 2.4秒左右
: : 爬文了 也google过 了解如果把%放在前头 会让索引无效
: : 我也自己试了一下 '关键字%' 时间0.0005秒 (也差太多了....)
: : 但是关键字搜寻 不太可能用 like '关键字%'找资料
: : 用其他的语法 locate试了一下 也是很慢
: : 想请问大家 在语法的部分 目前还没办法解决吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 202.39.58.43
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Database/M.1503648449.A.82B.html
※ 编辑: liisi (202.39.58.43), 08/25/2017 16:08:46
1F:→ SeanBoog: 关键字 ranking 08/25 23:40