GORM allows create database index with tag index
, uniqueIndex
, those indexes will be created when AutoMigrate or CreateTable with GORM
Index Tag
GORM accepts lots of index settings, like class
, type
, where
, comment
, expression
, sort
, collate
Check the following example for how to use it
type User struct { |
uniqueIndex
tag uniqueIndex
works similar like index
, it equals to index:,unique
type User struct { |
Composite Indexes
Use same index name for two fields will creates composite indexes, for example:
type User struct { |
Fields Priority
The column order of a composite index has an impact on its performance so it must be chosen carefully
You can specify the order with the priority
option, the default priority value is 10
, if priority value is the same, the order will be based on model struct’s field index
type User struct { |
Multiple indexes
A field accepts multiple index
, uniqueIndex
tags that will create multiple indexes on a field
type UserIndex struct { |