简体   繁体   English

gorm 默认使用索引吗?

[英]Does gorm use indexes by default?

I would like to utilize indexes in db我想利用数据库中的索引

Does gorm use index by default on it's queries or I should specify manually? gorm 在其查询中默认使用索引还是我应该手动指定?

type User struct {
ID uint
Name string `gorm:"uniqueIndex:idx_user_name"
}

Option A选项 A

var user User
db.Find(&user)

from terminal I don't see if option A is using index从终端我看不到选项 A 是否正在使用索引

Option B选项 B

import "gorm.io/hints"

db.Clauses(hints.UseIndex("idx_user_name")).Find(&User{})
// SELECT * FROM `users` USE INDEX (`idx_user_name`)

Postgres does not support USE INDEX hinting syntax . Postgres不支持USE INDEX提示语法 It will automatically choose the appropriate index.它会自动选择合适的索引。 Using gorm won't change that.使用gorm不会改变这一点。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM