首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Sphinx vs. MySql - 搜索朋友列表(效率/速度)

Sphinx 和 MySQL 都是非常流行的搜索引擎和数据库管理系统。Sphinx 是一个基于搜索的数据库引擎,主要用于全文搜索和实时搜索。MySQL 是一个关系数据库管理系统,主要用于存储和管理数据。

在搜索朋友列表的场景下,效率/速度是至关重要的。由于 Sphinx 和 MySQL 的实现方式不同,它们的效率/速度也有所不同。

Sphinx 采用了倒排索引技术,可以快速地处理大量的文本数据,因此在搜索朋友列表时,它可以快速地返回匹配的结果。此外,Sphinx 还可以处理实时搜索请求,因此在搜索朋友列表时,它可以实时地返回最新的结果。

MySQL 也是一个非常强大的数据库管理系统,但是它并不适合处理大规模的文本数据。在搜索朋友列表的场景下,MySQL 的效率/速度可能会相对较慢,因为它需要扫描大量的数据才能找到匹配的结果。

总的来说,Sphinx 和 MySQL 都是非常强大的搜索工具,但是它们在处理大规模文本数据时的效率/速度有所不同。因此,在选择使用哪种工具时,需要根据具体的需求来选择。如果需要快速地处理大规模的文本数据,可以选择 Sphinx。如果需要存储和管理数据,可以选择 MySQL。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Sphinx + Coreseek 实现中文分词搜索

全文检索 1.1 全文检索 vs. 数据库 全文检索是数据库的有力补充,全文检索并不能替代数据库在应用系统中的作用。...再返回给用户,提高用户的效率; 全文检索还能够对检索结果的数据进行聚类分析(Group, 这里的聚类和NLP里面的聚类算法不同)。增进用户对数据分布情况的了解。...往往一些与搜索词毫不相干的内容也混入了结果集。 全文检索与数据库检索各有优势,须要依据详细应用场景的不同灵活选择。 1.2 中文检索 vs. 汉化检索 全文检索一般支持中文分词。...闪电般的检索速度:虽然是1千万条的大数据量,查询数据的速度也在毫秒级以上。2-4G的文本量中平均查询速度不到0.1秒。 为非常多脚本语言设计了检索API。...如PHP,Python,Perl,Ruby等,因此你能够在大部分编程应用中非常方便地调用Sphinx的相关接口。 为MySQL设计了一个存储引擎插件。因此假设你在MySQL上使用Sphinx

1.4K20

一个分布式服务器集群架构方案

0x01.大型网站演化 简单说,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。...HAProxy更会比Nginx有更出色的负载均衡速度,在并发处理上也是优于Nginx的; 5、HAProxy可以对Mysql读进行负载均衡,对后端的MySQL节点进行检测和负载均衡; ?...《高可用、开源的Redis缓存集群方案》 ---- 0x04.关于搜索引擎Sphinx方案 (第一期不做,后期需求时候考虑)** Sphinx是俄罗斯人开发的,号称是很吊啦,千万级数据检索,每秒10MB...原理类似于用底层C检索MySQL,然后弄出一个sphinx.conf配置文件,索引与搜索均以这个文件为依据进行,要进行全文检索,首先就要配置好sphinx.conf,告诉sphinx哪些字段需要进行索引...NoSQL旨在提升数据库速度,减少对MySQL的SELECT请求。

3.2K22
  • 使用PHP+Sphinx建立高效的站内搜索引擎

    为什么要使用Sphinx 假设你现在运营着一个论坛,论坛数据已经超过100W,很多用户都反映论坛搜索速度非常慢,那么这时你就可以考虑使用Sphinx了(当然其他的全文检索程序或方法也行)。...Sphinx是什么 Sphinx由俄罗斯人Andrew Aksyonoff 开发的高性能全文搜索软件包,在GPL与商业协议双许可协议下发行。...Sphinx的特性 l  高速索引 (在新款CPU上,近10 MB/秒); l  高速搜索 (2-4G的文本量中平均查询速度不到0.1秒); l  高可用性 (单CPU上最大可支持100 GB的文本,100M...文档); l  提供良好的相关性排名 l  支持分布式搜索; l  提供文档摘要生成; l  提供从MySQL内部的插件式存储引擎上搜索 l  支持布尔,短语, 和近义词查询; l  支持每个文档多个全文检索域...sql_query 建立索引时的查询命令,在这里尽可能不使用where或group by,将where与groupby的内容交给sphinx,由sphinx进行条件过滤与groupby效率会更高,注意

    2.3K10

    sphinx给PHP加个给力的搜索功能

    但是有个非常致命的问题,那就是效率效率非常低,特别是在数据量大的情况。测试过程中,在224256行数据中,对3749个字进行like查询,执行总时间长达4003秒。...因为不是模糊搜索,所以可以使用数据库的索引,加快搜索速度。但是效果依赖于分词,以及用户输入关键词匹配程度。...但是如果输入"国会"则无法搜索到内容。如果多个词同时匹配,则需要使用in查询,然后筛选出同时出现的内容。 所以这种生成关键字的方式,虽然查询速度上会比直接使用like查询快,但是业务逻辑会比较复杂。...使用sphinx作为搜索引擎 sphinx支持全文搜索,所以在sphinx中查询到关键字对应内容id之后再通过数据库获取内容的全部数据。...但是sphinx需要额外的服务(也可以使用sphinxse,不过需要重新编译mysql),同时索引页会带来内存和储存空间上的开销,同时也会涉及到索引实时更新的问题。

    98640

    shpinx的安装与使用测试

    Sphinx支持高速建立索引(可达10MB/秒,而Lucene建立索引的速度是1.8MB/秒) 高性能搜索(在2-4 GB的文本上搜索,平均0.1秒内获得结果) 高扩展性(实测最高可对100GB的文本建立索引...支持作为Mysql的存储引擎 安装 从官网http://sphinxsearch.com下载最新版本。...但建立索引花费的时间越长 ngram_len:对于非字母型数据的长度切割(默认已字符和数字切割,设置1为按没个字母切割) ngram_chars:ngram 字符集,中文需要配置 kbatch:屏蔽索引的列表...以下是sphinx使用的一个说明图: ? 实验 普通搜索 mysql中建立三个表,config用于保存sphinx状态数据,changes保存变更记录数据,posts是源数据。.../indexer.exe --config /d/soft/sphinx-3.1.1/etc/sphinx.conf --all 然后启动搜索服务: .

    81930

    php_sphinx安装使用

    Sphinx的简介: Sphinx是一个独立的全文索引引擎,意图为其他应用提供高速、低空间 占用、搜索结果高相关度的全文搜索功能。Sphinx可以非常容易的与 SQL数据库和脚本语言集成。...内置MySQL和PostgreSQL数据库数据源 的支持。搜索API支持PHP、Python、Perl、Rudy和Java。...Sphinx的使用背景:在mysql中优化的时候,对varchar,char,text对这些数据进行查询时,如果我们使用like ‘%单词’,是无法使用到索引,如果网站的数据量比较大,会拖垮网站的速度。...Windows 安装sphinx的过程: 下载完后解压后,把etc目录下面,把mysql的模板配置文件csft_mysql.conf拷贝到上级目录,并修改为sphinx.conf。...(‘localhost’,9312); // 设置服务器 $res = $sc->query(‘武侠’,’ mysql’); // 第一个参数是查询内容,第二个参数是索引的名称(sphinx.conf里面配置

    62120

    Ubuntu系统,搭建mysql+sphinx环建

    一 安装mysql 1 更新源列表 打开"终端窗口",输入"sudo apt-get update"-->回车-->"输入root用户的密码"-->回车,就可以了。...二安装sphinx        01、安装全文搜索引擎 Sphinx 前,必须先安装 MySQL server 并设置数据库 root 用户(参考步骤一)        02、使用 apt-get...方法直接安装 Sphinx: apt-get install sphinxsearch 复制代码        03、创建全文搜索引擎 Sphinx 的配置文件: cp /etc/sphinxsearch...配置全文搜索引擎 Sphinx 的配置文件: sql_user = test sql_pass = # compat_sphinxql_magics = 1 复制代码               ...09、启动全文搜索引擎 Sphinx 服务: root:~# service sphinxsearch start Starting sphinxsearch: Sphinx 2.0.4-id64

    1.6K20

    搜索:ElasticSearch OR MySQL?

    那么,很多同学会说,我对MySQL非常的了解,各种技巧,样样精通,直接用MySQL实现搜索引擎不就得了?这里我们来举个比较实际的例子,看一下到底MySQL适不适合做搜索引擎。...Why Not Sphinx + MySQL 当然,有很多同学会说,MySQL确实不适合直接做检索,但是我可以利用Sphinx中间件结合MySQL来做搜索引擎。...确实,Sphinx也是一款比较优秀的搜索引擎。在某些方面,它很适合和MySQL做结合来使用。但是,Sphinx和ElasticSearch比起来,却逊色不少。...ElasticSearch and MySQL 通常,我们可以使用ES来实现自己的站内搜索引擎,但是,瓦力这里还是推荐大家使用MySQL来做原始数据的存储,然后基于MySQL在上层部署我们的ES中间件来实现我们的搜索引擎...总结 ElasticSearch作为当下越来越火爆的分布式搜索引擎以及大数据分析中间件,在互联网技术中,已经占据了半壁江山,在BAT等各大互联网公司都有不同程度的应用,成为了程序猿小朋友不可忽视的一门刚需技术

    1.7K10

    windows7使用Sphinx+PHP+MySQL详细介绍

    摘要 由于业务需要,需要做类似淘宝商城商品检索的功能,对于数据量很大的情况,MySQL 查询的效率损耗很大,需要使用专门的索引引擎进行搜索查询,实现功能,对于和 PHP 和 Mysql 的结合的索引引擎中...Your MySQL connection id is 12 Server version: 5.5.53 MySQL Community Server (GPL) mysql> use test;...# 恢复样例数据到数据库 mysql> source /D:\Service\sphinx\etc/eaxmple.sql # 新增两个数据表,documents和tags mysql> show...7.开启搜索服务,保持后台运行 > searchd.exe --pidfile [Tue May 15 09:02:14.690 2018] [7776] using config file '....php/ext 目录下 2.修改 php.ini 配置文件 # 在 Dynamic Extensions 列表中添加php_sphinx扩展 extension=php_sphinx.dll 修改后重启

    2.2K10

    搜索引擎配置优化笔记 - 老板的讲课

    搜索引擎优化 并不是 只seo 而是只自建搜索引擎的配置优化 使用了两个开源的软件:sphinx 和 redis 开源搜索引擎 1.Lucence/Nutch/Solr Java编写 2.Sphinx/...Coreseek C++ 3.Xapian 豆瓣 4.BosS Sphinx 介绍 1.配置索引文件 2.索引 (正向索引 -> like %key% ; 反向索引 -> 先建关键词列表) 3.处理搜索...4.2-3不断重复 Sphinx 特点 索引快,支持中文,丰富的查询表达式,可以分段落,支持模糊查询,多种结果后处理机制 排序,BM25,搜索算法 支持实时索引,地理位置搜索 Redis 介绍 Nosql...数据库, 数据常驻内存, 实时异步存储到数据库 Redis 特点 数据不会丢失,查询速度快 流程 论坛 -> 索引服务器 -> 处理文档 去特殊字符-> 存储到Redis ,获得ID -> 索引服务器...Sphinx 中文分词 Sphinx 汉字自动单词分词 一元分词法 查询时用“”取消分词,对汉字进行词语分组 最多分词法,一元分词法(最灵活) 中文分词法 httpcus 张宴 分词中学习,检查某几个字合在一起得到的结果多少

    48020

    Lucenu和Sphinx介绍

    所有的扩展,分布式,可靠性等都需要自己实现;非实时,从建索引到可以搜索中间有一个时间延迟,而当前的“近实时”(Lucene Near Real Time search)搜索方案的可扩展性有待进一步完善。...意图为其他应用提供高速、低空间占用、高结果 相关度的全文搜索功能。Sphinx可以非常容易的与SQL数据库和脚本语言集成。...Sphinx是一个用C++语言写的开源搜索引擎,也是现在比较主流的搜索引擎之一,在建立索引的事件方面比Lucene快50%,但是索引文件比Lucene要大一倍,因此Sphinx在索引的建立方面是空间换取事件的策略...,在检索速度上,和lucene相差不大,但检索精准度方面Lucene要优于Sphinx,另外在加入中文分词引擎难度方面,Lucene要优于Sphinx.其中Sphinx支持实时搜索,使用起来比较简单方便...可作为MYSQL的存储引擎提供搜索服务 较多语言的API 6、缺点 中文分词需要分词后使用 索引文件较大 非基于Apache软件基金会

    1.3K60

    【迅搜19】扩展(二)TNTSearch和JiebaPHP方案

    在这里要先换一个概念,那就是 TNTSearch 是有点类似于 Sphinx 这样的搜索引擎。也就说,它的数据来源是针对数据库的,或者说让数据库来做为数据源是比较方便的。...因此,它建立索引的方式也和 Sphinx 很像,直接连 MySQL 去查表建索引。...TNTSearch 的搜索结果,返回的也是和 Sphinx 非常像的,它们都只是返回索引的 ID 信息。...因此,在直接的检索过程中,这两块都是走了数据库索引的,速度是完全有保障的。...最后再归结回去,不管 XS、ES、Sphinx或者其它,只要是搜索引擎应用或中间件,最终的原理都是和这一套是类似的,但具体的实现形式以及功能和语言各有不同。

    25610

    数据库性能优化,原来还可以有这种操作

    更新非常频繁的字段不适合创建索引 不会出现在WHERE子句中的字段不该创建索引 分表技术(水平分割、垂直分割); 读写[写: update/delete/add]分离; 存储过程 [模块化编程,可以提高速度...]; 对mysql配置优化 [配置最大并发数my.ini, 调整缓存大小 ]; mysql服务器硬件升级; 定时的去清除不需要的数据,定时进行碎片整理(MyISAM)。...02 SQL语句优化 通过show status命令了解各种SQL的执行频率; 定位执行效率较低的SQL语句-(重点select; 通过explain分析低效率的SQL; 确定问题并采取相应的优化措施。...03 索引 索引的类型 主键索引,主键自动的为主索引 (类型Primary); 唯一索引 (UNIQUE); 普通索引 (INDEX); 全文索引 (FULLTEXT) [适用于MyISAM] ——》sphinx...+ 中文分词 coreseek [sphinx 的中文版 ]; 综合使用=>复合索引 可能使用到索引 对于创建的多列索引,只要查询条件使用了最左边的列,索引一般就会被使用。

    34210
    领券