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

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

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

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

请问高手们,怎么办?
5214 次点击
所在节点    程序员
46 条回复
vincenttone
2018-04-25 10:47:37 +08:00
用不上索引,需要加分词系统了
jrient
2018-04-25 10:54:50 +08:00
垃圾 php 换 go 把 [doge][doge]
tianxiacangshen
2018-04-25 10:58:47 +08:00
@zgx030030
@nullen
@nineyang1
@linxl
@sdpfoue
@akira
@jrient

没有黑 PHP 啊,是我 PHP 和数据库都太弱了,sql 语句都是 PHP 框架构造的,有时候由于 PHP 不行语句没构造好,因此才归咎于自己的 PHP 不行
soho176
2018-04-25 11:00:52 +08:00
厉害了,做的啥站,数据这么多?采集来的数据?
Mazexal
2018-04-25 11:12:55 +08:00
上 solr
enenaaa
2018-04-25 11:17:32 +08:00
不想用其他工具的话, 就试试 mysql 的全文索引。
g8287694
2018-04-25 11:18:32 +08:00
@tianxiacangshen 啥叫 php 不行语句没构造好
你用 like 你随便给我来个上面语言速度快的看看
nullen
2018-04-25 11:51:47 +08:00
@tianxiacangshen 你先学学如何提问,如何比较好的表述自己的问题。
chinvo
2018-04-25 11:53:55 +08:00
日常黑 PHP

没研究过 elastic 就上 sphinx

这种全文检索 mysql 不索引
tianxiacangshen
2018-04-25 11:56:17 +08:00
@soho176

网站久了,数据自然慢慢就多了,评论和回复数据达到百万了
frozenway
2018-04-25 11:57:58 +08:00
<img src=" ">我之前问类似问题,都快被骂死了
alexsunxl
2018-04-25 12:04:59 +08:00
上 es 全家桶, 写入和同步比较无痛
然后读取从 es 里面读
cy97cool
2018-04-25 12:24:29 +08:00
求问如果就是要解决一个这种 like 查询的需求
有没有封装好 elasticsearch 的软件 比如只要配置 mysql 连接信息 要建索引的表和列 然后就提供 api 供查询调用
tianxiacangshen
2018-04-25 12:46:58 +08:00
@frozenway 没办法,技术太菜了,该骂
simaguo
2018-04-25 14:41:00 +08:00
elasticsearch 了解下
wekw
2018-04-25 14:46:06 +08:00
数百万对于 MySQL 来说压力确实过大了
SummerWQM
2018-04-25 15:43:34 +08:00
和我 PHP 有什么关系啊
changwei
2018-04-25 15:49:00 +08:00
我曾经搞过一个项目,sql server+c#的,不加索引,两千万行数据里面条件查询照样要查几分钟,明明是你用法不对,哪里是 php 和 mysql 的锅。
sessionstop
2018-04-25 16:04:00 +08:00
我笑了,php 是最好的语言好伐,这么容易招黑么。
mingzu
2018-04-25 18:41:02 +08:00
ID 也很有意思啊。。。
楼主南方人吗?

天下苍身?

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

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

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

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

© 2021 V2EX