从一个表读取一个字段,然后使用该字段信息查询并从另一个字段获取信息需要很长时间

本文关键字:字段 一个 信息 获取 另一个 长时间 读取 然后 查询 | 更新日期: 2023-09-27 18:20:45

我正在编写一个桌面应用程序,该应用程序连接到远程服务器上的MySQl数据库。我在MySQL数据库中有两个表。

一个名为Client的表包含联系人Id和其他基本联系信息。

另一个表称为Property,包含属性类型和地址信息,并且还有一个Client_Id字段,该字段与Client表中的Id字段相同。

目前我打开了一个到数据库的连接。

然后,我使用Select查询从Property表中获取字段调用PropertyType='House'的所有属性的List。

然后,我获取该列表,并使用另一个SELECT查询对其进行枚举,该查询根据与列表中的Id匹配的Id来获取每个客户端。

然后我关闭连接。所以我只打开和关闭了一次连接。

只有400条记录需要很长时间,我只是在学习mySQL,相信有更好的方法。有人能为我如何查询一个表以获得符合特定条件的所有字段,然后使用一个字段(Client_Id)搜索另一个表,以根据与Client_Id匹配的Id获得客户端提供任何建议吗?

从一个表读取一个字段,然后使用该字段信息查询并从另一个字段获取信息需要很长时间

根据您想要查看的数据,可以尝试以下操作:

select p.address, c.name, c.phone
from Property p
join Clients c on p.client_id = c.id
where p.PropertyType = 'House'

您可以使用之类的东西将其简化为单个查询

SELECT * FROM Client WHERE Client_id IN (SELECT Client_id FROM Property WHERE PropertyType='House');

此外,要确保你有所有的索引。