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

jaký je rozdíl mezi Clustered Index a Unique Index?

Tyto dva spolu nesouvisí:

  • „Unikátní“ zajišťuje, že se každá hodnota vyskytuje přesně pouze jednou
  • „Clustered“ je způsob uspořádání dat na disku

Můžete mít všechny 4 permutace:

  • "unikátní bez seskupení"
  • "unikátní seskupení"
  • „neunikátní, neshlukovaný“
  • "neunikátní seskupený"

Dochází k určitým nejasnostem, protože výchozí nastavení pro "primární klíč" (PK) na serveru SQL Server je seskupené.

„Primární klíč“ však musí být vždy jedinečný. Rozdíl mezi "unique" a "PK" je ten, že jedinečný povoluje jednu NULL, PK nepovoluje žádné NULL.

Na závěr nějaké limity počtu

  • protože seskupení označuje rozložení na disku, můžete mít pouze jeden seskupený index na tabulku
  • Tabulka nemůže mít více než jeden pimární klíč, ale může mít mnoho jedinečných indexů


  1. Chyba serveru SQL 4104:Vícedílný identifikátor nelze svázat.

  2. Určete typ tabulky/úložný modul v Doctrine 2

  3. Počítejte neprázdná pole mysql

  4. MYSQL používá 'LIKE' v klauzuli 'WHERE' pro vyhledávání v poddotazu