我在尝试连接 3 个表时遇到问题,每次我在我的服务器上运行查询时,我都会遇到一个巨大的暂停,需要手动终止。
这是表格结构
books : isbn(PK)
books_a : id(PK), isbn, price, condition
books_l : id(PK), isbn, price, condition
这里是查询
SELECT
b.isbn,
a.price AS a_price,
a.condition AS a_condition,
l.price AS l_price,
l.condition AS l_condition
FROM
books b
LEFT JOIN a_books a ON b.isbn = a.isbn
LEFT JOIN l_books l ON b.isbn = l.isbn
我的查询可能有什么问题? (注意我在每个表中确实有超过 6,000 条记录)
最佳答案
我敢打赌这些列中的一个或某些列没有被索引。 a_books.isbn
、books.isbn
、l_books.isbn
尝试运行这个语句,
ALTER table a_books ADD INDEX IDX_abk (isbn);
ALTER table books ADD INDEX IDX_bk (isbn);
ALTER table l_books ADD INDEX IDX_lbk (isbn);
关于mysql - 连接 3 个表,查询无响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12614929/