Skip to content

Find First查询返回Obj对象方法

Tuuz edited this page Jun 20, 2022 · 3 revisions

普通查询方法

func Api_find(id interface{}) gorose.Data {
	db := tuuz.Db().Table(Table)
	where := map[string]interface{}{
		"id": id,
	}
	db.Where(where)
	ret, err := db.Find()
	if err != nil {
		Log.Dbrr(err, tuuz.FUNCTION_ALL())
		return nil
	} else {
		return ret
	}
}

单线程/事务find方法

func (self *Interface) Api_find(id interface{}) gorose.Data {
	db := tuuz.Db().Table(Table)
	where := map[string]interface{}{
		"id": id,
	}
	db.Where(where)
	ret, err := db.Find()
	if err != nil {
		Log.Dbrr(err, tuuz.FUNCTION_ALL())
		return nil
	} else {
		return ret
	}
}

多db性能更好,为什么要使用*db方法?

使用单db方法不容易导致数据库死锁,但是在step by step读取数据库的时候,性能将会有比较为严重的影响,所以在良好的数据结构的设计下,尽量使用多线程db来避免过早的出现性能瓶颈