gpt4 book ai didi

MySQL搜索搜索字段的优化

转载 作者:行者123 更新时间:2023-11-29 13:15:34 25 4
gpt4 key购买 nike

我有一个包含 500,000 行的 MySQL 数据库。

我有一个包含 500,000 个组合字符串的列表,例如 First_Name 和 Last_Name。

我正在尝试使用类似的查询搜索 500,000 行

select count(*) FROM data WHERE first='wadaw' AND last='wdvv';

问题是它花费了太多时间,我使用多个线程,考虑到 MySQL 之间的通信开销和查询的运行时间,它似乎不是很有效。我想通过更改数据库的设置来开始改进,以更好地适应我的数据并为其优化 MySQL 数据库。

根据我在搜索算法方面的经验,未排序的列表将采用最广泛使用的方法的 n*log(n) 和采用基数排序的 N 等。这对于我的情况来说是 n^2 或 n^2log(n) ,如果你有 1,000,000 个字段,那就不太好了。

但是对于二分搜索,对于我的情况,它将需要 Log(n) ,因此需要 n*log(n) 。

我正在寻找一种充分利用我的数据库的方法。

有什么建议吗?

最佳答案

尝试对您正在使用的两个字段使用索引。在您的示例中:

create index idx_data_name_last on data (first, last);

这将只使用一个索引,因此时间将是 log(n) 而不是 n*log(n)。

关于MySQL搜索搜索字段的优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21506044/

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