PHP 最简单的提升查询速度的方法

2018-04-25 09:04:47 +08:00
 tianxiacangshen
PHP 技能: 大概三分之一桶水

目前 web 环境还是用的 windows 2008 IIS7+ PHP+mysql

如今遇到在数百万记录中 like %{$word}%的查询,这个速度就已经卡成翔,更不用说如果{$word}包含多个词组然后分拆的查询了

请问高手们,怎么办?
5214 次点击
所在节点    程序员
46 条回复
90safe
2018-04-25 09:08:03 +08:00
这不是应该数据库的问题吗,索引优化啥的,换 nosql 啥的
Reign
2018-04-25 09:14:42 +08:00
1. match against
2. 换 elasticsearch
iamsee
2018-04-25 09:24:18 +08:00
es
GoPHP
2018-04-25 09:24:34 +08:00
你应该知道 like '%$word%' 这种写法不会用到索引的,'$word%' 后面写一个%号还可以用到索引。其实这都不是好的解决方法,最好的方法是全文索引,以前喜欢用 sphinx,现在基本上都是用 es 了
Vogan
2018-04-25 09:24:59 +08:00
不要在 mysql 中做%like%查询
zgx030030
2018-04-25 09:26:36 +08:00
全文索引 sphinx php 又一次成功背锅
nullen
2018-04-25 09:29:33 +08:00
跟 PHP 有个蛋关系。
zhs227
2018-04-25 09:31:12 +08:00
可以用 sphinx,配套 mysql 比较靠谱。不是 PHP 的锅
dobelee
2018-04-25 09:32:14 +08:00
最近黑 php 的这么多吗。。。
xmbaozi
2018-04-25 09:34:18 +08:00
关 php 什么事。
上 elasticsearch
或 mysql 全文搜索(没用过)
onepunch
2018-04-25 09:40:38 +08:00
数据量大到一定程度跟语言没有关系,你上 c 语言来查也慢

你说的这个问题分库分表解决不了吗?
patx
2018-04-25 09:44:09 +08:00
上全文搜索
nineyang1
2018-04-25 09:50:07 +08:00
高级黑
asen477
2018-04-25 09:53:45 +08:00
mysql 做全文索引,分表分库去做视图等
linxl
2018-04-25 10:01:25 +08:00
php 日常被黑系列
sdpfoue
2018-04-25 10:11:05 +08:00
低端黑
akira
2018-04-25 10:16:33 +08:00
楼主你的数据库技能比 php 更弱啊,上全文搜索吧
yimaneilicj
2018-04-25 10:21:35 +08:00
学习了
wangjhsir
2018-04-25 10:34:09 +08:00
上 es 吧
you know,for search
torbrowserbridge
2018-04-25 10:45:02 +08:00
标题党,我还以为你能让 PHP 执行速度提升呢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/449617

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX