我有两张表,其中一张将 id 与评级相匹配,其中一张的 id 包含大约 15 列中的实际数据。在数据表中,id 列有一个索引,在评级表中,id 是主键,评级是索引的。我想选择数据,但只能从具有正面评价的行中选择。为此,我正在使用查询
SELECT * FROM data_table
INNER JOIN rating_table ON data_table.id = rating_table.id
WHERE rating > 0
但由于某种原因,这大约需要 0.35 秒,这对我来说似乎很长。数据表中大约有 90,000 行,而评级表中大约有 5,000 行,这需要花费的时间甚至不到十分之一秒……我怎样才能以不同的方式索引或以不同的方式查询来加快这项任务?
编辑: 分析后它给了我以下信息。请注意,我认为它已被缓存,因此查询返回的速度比以前快得多,但即便如此,这可能对某人有用
0.000012 starting
0.000053 checking query cache for query
0.000014 Opening tables
0.000006 System lock
0.000027 Table lock
0.000044 init
0.000018 optimizing
0.000060 statistics
0.000016 preparing
0.000004 executing
0.004916 Sending data
0.000007 end
0.000003 query end
0.002271 freeing items
0.000009 storing result in query cache
0.000002 logging slow query
0.000004 cleaning up
所以我看到很多时间都花在发送数据上……我怎样才能加快这部分的速度?