0

この方法で、テーブルに 2 列のインデックスを作成しようとしました。

CREATE INDEX prod_hash_index ON components(producer_normalized, hash);

その結果、1 つではなく 2 つのインデックスが生成されます (実行した場合SHOW INDEXES FROM components;):

+------------+------------+-----------------+--------------+---------------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table      | Non_unique | Key_name        | Seq_in_index | Column_name         | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+------------+------------+-----------------+--------------+---------------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| components |          0 | PRIMARY         |            1 | id                  | A         |     1570231 |     NULL | NULL   |      | BTREE      |         |               |
| components |          1 | item_num        |            1 | item_num            | A         |     1570231 |     NULL | NULL   |      | BTREE      |         |               |
| components |          1 | fs_index        |            1 | first_symbol        | A         |         303 |     NULL | NULL   |      | BTREE      |         |               |
| components |          1 | prod_hash_index |            1 | producer_normalized | A         |          18 |     NULL | NULL   | YES  | BTREE      |         |               |
| components |          1 | prod_hash_index |            2 | hash                | A         |     1570231 |     NULL | NULL   |      | BTREE      |         |               |
+------------+------------+-----------------+--------------+---------------------+-----------+-------------+----------+--------+------+------------+---------+---------------+

どういう意味ですか?MySQL は追加の 1 列インデックスを作成しましたか?

4

1 に答える 1

0

インデックス名とインデックス内の列を使用して、すべての行で結果パネルを読み取ります。

あなたが持っている prod_has_index について、最初の行は Producer_normalized 列の位置 1 にあり、別の行の列は位置 (seq_in_index) 2 にあります。

于 2013-08-03T10:12:52.520 に答える