sql >> Databáze >  >> RDS >> Sqlserver

Musí být seskupené indexy jedinečné?

nemají být jedinečný, ale rozhodně se to doporučuje.
Ještě jsem se nesetkal se scénářem, kdy bych chtěl vytvořit CI na nejedinečném sloupci.

Co se stane, když vytvoříte CI na nejedinečném sloupci

Vede to ke špatnému výkonu?

Přidání uniqueifier jistě přidává určitou režii při výpočtu a při jejím ukládání.
Zda tato režie bude patrná, závisí na několika faktorech.

  • Kolik dat tabulka obsahuje.
  • Jaká je míra vkládání.
  • Jak často se CI používá ve výběru (když neexistují žádné krycí indexy, v podstatě vždy).

Upravit Jak uvedl Remus v komentářích, existují případy použití, kdy by vytvoření nejedinečného CI bylo rozumnou volbou. To, že jsem se nesetkal s jedním z těchto scénářů, pouze ukazuje na můj nedostatek expozice nebo kompetence (vyberte si svou volbu).



  1. Sqlalchemy nefunguje se stránkováním

  2. Indexování booleovských polí

  3. Je to bezpečná metoda pro vkládání dat formuláře do databáze MySQL?

  4. Povolit heslo a ověřování unix_socket pro uživatele root MariaDB?