gpt4 book ai didi

mysql - 返回第一个匹配行提高查询性能

转载 作者:行者123 更新时间:2023-11-29 07:15:59 24 4
gpt4 key购买 nike

我有一个包含超过 100 万行的公共(public)记录数据库。我需要使用用户全名和出生日期查询数据库。查询如下所示:

SELECT * 
FROM TexasBexarCountyMisdemeanorPublicRecords
WHERE ([FULL-NAME] = 'EXAMPLELASTNAME, EXAMPLEFIRSTNAME')
AND (BIRTHDATE = '1989-10-18 00:00:00')

目前此查询需要 2 分 45 秒才能成功完成。不幸的是,由于数据结构和用户提供的信息,我想不出任何其他方式来查询数据库。

此查询的目的是提供与单个用户相关的记录列表。这些记录通过用户的全名和出生日期来定义其所有权。所有列都有字符串值。一个用户也可能拥有多条记录。

  1. 这个查询效率极低。有没有更好的方法来搜索记录以查找全名和生日匹配?

  2. 我正在考虑在第一次匹配后停止搜索,但这对于拥有多条记录的用户来说没有用。

  3. 我已经有一个主键列,可以使用该 ID 快速查找记录。然而,当用户第一次登录时,我无法知道该 ID。因此,我需要使用他们的名字和出生日期搜索记录,然后保存这些 ID 以供将来引用。

  4. 如果我在搜索中添加更多条件,是否会提高搜索效率?如果我传递性别、种族等值。

感谢您的帮助。

最佳答案

它会快速返回 ID,因为它已建立索引。对您正在搜索的字段建立索引,并在适当的情况下考虑覆盖索引。

关于mysql - 返回第一个匹配行提高查询性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37927435/

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