在我的应用程序中,我使用的是一个大型数据库。表中有近75000条记录(共有6个表)。我想一次从三个不同的表中获取数据。我完成了。但搜索过程很慢。我可以优化搜索过程吗?
答案 0 :(得分:1)
您可能需要考虑使用全文搜索引擎并发出SELECT ... MATCH查询。请注意,您需要启用FTS引擎(默认情况下已禁用)并创建虚拟表而不是常规表。您可以阅读更多相关信息here。
答案 1 :(得分:0)
我无法看到表结构(或查询),我建议的第一件事就是在表中添加一些索引。
假设你有几张表:
Author
id
last_name
first_name
Subject
id
name
Book
id
title
author_id
subject_id
并且您希望获得有last_name="Smith"
和first_name="John"
作者写过的每本书的所有信息。您的查询可能如下所示:
SELECT * FROM Book b
LEFT JOIN Subject s
ON s.id=b.subject_id
LEFT JOIN Author a
ON a.id=b.author_id
WHERE a.last_name='Smith'
AND a.first_name='John';
您希望last_name
表中的Author
列有一个索引(也可能是first_name
)。