sql - MySQL simple join using temporary table -
sql - MySQL simple join using temporary table -
i've got (what thought) simple query on mysql database, using explain
shows query using temporary table. i've tried changing order of select , bring together no avail. i've reduced tables simplest (to see if issue complexity of tables, still have problem). i've tried 2 basic tables, 1 "name" field, , other foreign key reference table:
a: +-------+--------------+------+-----+---------+----------------+ | field | type | null | key | default | | +-------+--------------+------+-----+---------+----------------+ | id | int(11) | no | pri | null | auto_increment | | name | varchar(128) | no | mul | null | | +-------+--------------+------+-----+---------+----------------+ b: +-------+---------+------+-----+---------+----------------+ | field | type | null | key | default | | +-------+---------+------+-----+---------+----------------+ | id | int(11) | no | pri | null | auto_increment | | a_id | int(11) | no | mul | null | | +-------+---------+------+-----+---------+----------------+
and query:
select a.id, a.name bring together b on a.id = b.a_id order a.name;
which thought simple... list of records in a
have records in b
, ordered name. alas explain
says this:
+----+-------------+-------+--------+---------------+---------+---------+--------+------+----------------------------------------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | | +----+-------------+-------+--------+---------------+---------+---------+--------+------+----------------------------------------------+ | 1 | simple | b | index | a_id | a_id | 4 | null | 2 | using index; using temporary; using filesort | | 1 | simple | | eq_ref | primary | primary | 4 | b.a_id | 1 | | +----+-------------+-------+--------+---------------+---------+---------+--------+------+----------------------------------------------+
it looks should using key on b
table reason isn't. feeling i'm missing basic (or rdbms knowledge needs brushing somewhat). ideas why it's using temporary table such simple query?
mysql sql query-optimization
Comments
Post a Comment