Re: [SQL ] 如何改善 LIKE '%search%' 的效能?

楼主: liisi (小心一点)   2017-08-25 16:07:25
想请问一下 假于架设另一台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试了一下 也是很慢
: : 想请问大家 在语法的部分 目前还没办法解决吗?
作者: SeanBoog (施吉祥先生)   2017-08-25 23:40:00
关键字 ranking

Links booklink

Contact Us: admin [ a t ] ucptt.com