sql >> Database teknologi >  >> RDS >> Mysql

Fremmednøgler og indekser

Det afhænger af, hvilke forespørgsler der vil være de hyppigste.

Du kan ende med tre indekser.

  1. Hvis du har ... WHERE products_categories.product_id = XXX , opret et indeks på product_id .

  2. Samme for category_id

  3. Opret et indeks på begge category_id og product_id hvis du har ... WHERE products_categories.category_id = XXX AND products_categories.product_id = YYY

Men ved at følge MySQL-manualen , husk, at et indeks på (category_id, product_id) kan være overflødig med et indeks på (category_id) . Samt et indeks på (product_id, category_id) kan være overflødig med et indeks på (product_id) . Så du kan endelig ende op med to indekser (i stedet for tre), der dækker alle dine hyppige forespørgselsbehov.



  1. Oracle 11g PHP oci_connect fejler OCIENvNlsCreate()

  2. Repliker tabeller fra forskellige databaser på samme mysql-server

  3. ODP.Net Driver Throwing Undtagelse på .NET Core 5.0

  4. Forhold til mange og få uden dette