Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Fremdschlüssel und Indizes

Es hängt davon ab, welche Abfragen am häufigsten vorkommen.

Am Ende haben Sie möglicherweise drei Indizes.

  1. Wenn Sie ... WHERE products_categories.product_id = XXX haben , erstellen Sie einen Index für product_id .

  2. Gleiches gilt für category_id

  3. Erstellen Sie einen Index für beide category_id und product_id wenn Sie ... WHERE products_categories.category_id = XXX AND products_categories.product_id = YYY

Allerdings nach dem MySQL-Handbuch , denken Sie daran, dass ein Index auf (category_id, product_id) kann mit einem Index auf (category_id) redundant sein . Außerdem ein Index auf (product_id, category_id) kann mit einem Index auf (product_id) redundant sein . So können Sie endlich mit zwei Indizes (statt drei) enden, die alle Ihre häufigen Abfrageanforderungen abdecken.