gpt4 book ai didi

mysql where 长字符串子句使查询速度太慢

转载 作者:行者123 更新时间:2023-11-30 22:55:59 26 4
gpt4 key购买 nike

我创建了一个 mysql 表,其中包含犯罪计数、犯罪描述、犯罪类别和犯罪地址。我已经在这张表上创建了一些报告。用户希望在报告中按地址过滤器进行搜索。所以我们将在 table 上使用 where 子句并在 street 上设置条件。

问题是街道地址是一个很大的字符串,当表格已经很大时,通过地址搜索/过滤表格会花费很多时间。我尝试使用像 md5(streetaddress) 这样的散列,但这也没有帮助。使用这种 where 子句查询变得非常慢

例子

select * from crimedata where streetaddress = "41 BENNETT RD Watertown  Massachusetts United States"

在这种情况下,对街道地址编制索引会有帮助吗?还是我应该使用某种哈希算法来加快表中这种字符串搜索的速度?

沙阿

最佳答案

在 streetaddress 上添加索引会有所帮助,但效果有限。

您可能需要考虑将存储引擎更改为支持全文搜索的引擎。一个例子是 Mroonga

注意:我与 Mroonga 无关。我之前只是有机会使用该库,发现它确实改进了文本搜索。

关于mysql where 长字符串子句使查询速度太慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26367715/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com