我有这个查询。假设还没有创建索引,我如何使用索引优化它,以便查询运行得更快?我如何创建索引?
select c.company_name, c.company_id FROM companies AS c
JOIN users AS u USING(companyid)
JOIN jobs AS j USING(userid)
JOIN useraccounts AS ua USING(userid)
WHERE j.jobid = 10;
非常感谢任何帮助。
答案 0 :(得分:1)
您应该在JOIN
子句中使用的所有列上都有索引。您可以使用CREATE INDEX
或ALTER TABLE
命令创建索引:
CREATE INDEX u_companyid ON users (companyid);
ALTER TABLE users ADD INDEX (companyid);
请注意,表的主键已经编入索引,您无需显式添加索引。