This topic created in 2972 days ago, the information mentioned may be changed or developed.
PHP 技能: 大概三分之一桶水
目前 web 环境还是用的 windows 2008 IIS7+ PHP+mysql
如今遇到在数百万记录中 like %{$word}%的查询,这个速度就已经卡成翔,更不用说如果{$word}包含多个词组然后分拆的查询了
请问高手们,怎么办?
46 replies • 2018-04-26 13:01:33 +08:00
 |
|
1
90safe Apr 25, 2018
这不是应该数据库的问题吗,索引优化啥的,换 nosql 啥的
|
 |
|
2
Reign Apr 25, 2018
1. match against 2. 换 elasticsearch
|
 |
|
4
GoPHP Apr 25, 2018
你应该知道 like '%$word%' 这种写法不会用到索引的,'$word%' 后面写一个%号还可以用到索引。其实这都不是好的解决方法,最好的方法是全文索引,以前喜欢用 sphinx,现在基本上都是用 es 了
|
 |
|
5
Vogan Apr 25, 2018
不要在 mysql 中做%like%查询
|
 |
|
6
zgx030030 Apr 25, 2018
全文索引 sphinx php 又一次成功背锅
|
 |
|
7
nullen Apr 25, 2018
跟 PHP 有个蛋关系。
|
 |
|
8
zhs227 Apr 25, 2018
可以用 sphinx,配套 mysql 比较靠谱。不是 PHP 的锅
|
 |
|
9
dobelee Apr 25, 2018 via Android
最近黑 php 的这么多吗。。。
|
 |
|
10
xmbaozi Apr 25, 2018
关 php 什么事。 上 elasticsearch 或 mysql 全文搜索(没用过)
|
 |
|
11
onepunch Apr 25, 2018
数据量大到一定程度跟语言没有关系,你上 c 语言来查也慢
你说的这个问题分库分表解决不了吗?
|
 |
|
12
patx Apr 25, 2018 via Android
上全文搜索
|
 |
|
14
asen477 Apr 25, 2018
mysql 做全文索引,分表分库去做视图等
|
 |
|
15
lazypu Apr 25, 2018
php 日常被黑系列
|
 |
|
17
akira Apr 25, 2018
楼主你的数据库技能比 php 更弱啊,上全文搜索吧
|
 |
|
19
wangjhsir Apr 25, 2018 via iPhone
上 es 吧 you know,for search
|
 |
|
22
jrient Apr 25, 2018
垃圾 php 换 go 把 [doge][doge]
|
 |
|
24
soho176 Apr 25, 2018
厉害了,做的啥站,数据这么多?采集来的数据?
|
 |
|
26
enenaaa Apr 25, 2018
不想用其他工具的话, 就试试 mysql 的全文索引。
|
 |
|
29
chinvo Apr 25, 2018
日常黑 PHP
没研究过 elastic 就上 sphinx
这种全文检索 mysql 不索引
|
 |
|
31
frozenway Apr 25, 2018
<img src="  ">我之前问类似问题,都快被骂死了
|
 |
|
32
alexsunxl Apr 25, 2018
上 es 全家桶, 写入和同步比较无痛 然后读取从 es 里面读
|
 |
|
33
mYYnSmiTEQWcCwAr Apr 25, 2018 via Android
求问如果就是要解决一个这种 like 查询的需求 有没有封装好 elasticsearch 的软件 比如只要配置 mysql 连接信息 要建索引的表和列 然后就提供 api 供查询调用
|
 |
|
35
simaguo Apr 25, 2018
elasticsearch 了解下
|
 |
|
36
wekw Apr 25, 2018
数百万对于 MySQL 来说压力确实过大了
|
 |
|
38
changwei Apr 25, 2018 via Android
我曾经搞过一个项目,sql server+c#的,不加索引,两千万行数据里面条件查询照样要查几分钟,明明是你用法不对,哪里是 php 和 mysql 的锅。
|
 |
|
40
mingzu Apr 25, 2018
ID 也很有意思啊。。。 楼主南方人吗?
天下苍身?
|
 |
|
41
cxbig Apr 25, 2018 via iPhone
我们只在 debug 的时候用 like 这种命令…… 项目日常信息要上搜索引擎的 solr、sphinx、es 都行
|
 |
|
42
RorschachZZZ Apr 25, 2018
like %aaa% 这样搞第一是确实慢。第二数据库容易炸。。。
|
 |
|
43
icy37785 Apr 25, 2018 via iPhone
PHP 前来背锅。。。这应该是数据库优化的问题。。。。跟 PHP 没关系呀。。。你标题如果是 sql 怎么提升查询速度,或许进来的人专业更对口。
|
 |
|
44
xttttt Apr 25, 2018
这难道不是数据库的问题
|
 |
|
46
ben1024 Apr 26, 2018
这语文水平,放弃 PHP 吧
|