sql >> Databáze >  >> RDS >> Mysql

Který sloupec umístit na první místo v indexu? Vyšší nebo nižší mohutnost?

Vyhledávání kompozitního indexu MySQL musí probíhat v pořadí, ve kterém jsou sloupce definovány v indexu. Vzhledem k tomu, že chcete, aby MySQL bylo schopné rozlišovat mezi záznamy prováděním co nejmenšího počtu srovnání, při zachování všech ostatních věcí budete nejvíce těžit ze složeného indexu, ve kterém jsou sloupce seřazeny od nejvyšší po nejnižší mohutnost.

To znamená, že za předpokladu, že srovnání musí být nakonec provedeno se sloupcem nejvyšší mohutnosti, aby došlo k diskriminaci záznamů, proč nutit srovnání nejprve se sloupcem nejnižší mohutnosti, když to nakonec může být zbytečné?



  1. SQL vyžadující vlastní připojení a hodnocení

  2. varchar(max) všude?

  3. Rails:povolení odepřeno pro vztah schema_migrations

  4. Nejrychlejší způsob, jak odstranit nečíselné znaky z VARCHAR v SQL Server