mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-12-16 14:40:12 +01:00
🎨 Improve database performance https://github.com/siyuan-note/siyuan/issues/15764
This commit is contained in:
parent
cd8c3a41e6
commit
2b85cb1b6c
4 changed files with 21 additions and 10 deletions
|
|
@ -74,11 +74,12 @@ func RenderView(attrView *av.AttributeView, view *av.View, query string) (ret av
|
|||
renderedAttrViews := map[string]*av.AttributeView{}
|
||||
renderedAttrViews[attrView.ID] = attrView
|
||||
ret = renderView(attrView, view, query, &depth, renderedAttrViews)
|
||||
|
||||
attrView.RenderedViewables[ret.GetID()] = ret
|
||||
return
|
||||
}
|
||||
|
||||
func renderView(attrView *av.AttributeView, view *av.View, query string,
|
||||
depth *int, cachedAttrViews map[string]*av.AttributeView) (ret av.Viewable) {
|
||||
func renderView(attrView *av.AttributeView, view *av.View, query string, depth *int, cachedAttrViews map[string]*av.AttributeView) (ret av.Viewable) {
|
||||
if 7 < *depth {
|
||||
return
|
||||
}
|
||||
|
|
@ -334,9 +335,7 @@ func fillAttributeViewBaseValue(baseValue *av.BaseValue, fieldID, itemID string,
|
|||
}
|
||||
}
|
||||
|
||||
func fillAttributeViewAutoGeneratedValues(attrView *av.AttributeView, collection av.Collection, ials map[string]map[string]string,
|
||||
depth *int, cachedAttrViews map[string]*av.AttributeView) {
|
||||
|
||||
func fillAttributeViewAutoGeneratedValues(attrView *av.AttributeView, collection av.Collection, ials map[string]map[string]string, depth *int, cachedAttrViews map[string]*av.AttributeView) {
|
||||
// 先渲染主键、创建时间、更新时间
|
||||
|
||||
for _, item := range collection.GetItems() {
|
||||
|
|
|
|||
|
|
@ -18,8 +18,13 @@ import (
|
|||
"github.com/siyuan-note/siyuan/kernel/util"
|
||||
)
|
||||
|
||||
func RenderAttributeViewGallery(attrView *av.AttributeView, view *av.View, query string,
|
||||
depth *int, cachedAttrViews map[string]*av.AttributeView) (ret *av.Gallery) {
|
||||
func RenderAttributeViewGallery(attrView *av.AttributeView, view *av.View, query string, depth *int, cachedAttrViews map[string]*av.AttributeView) (ret *av.Gallery) {
|
||||
viewable := attrView.RenderedViewables[view.ID]
|
||||
if nil != viewable {
|
||||
ret = viewable.(*av.Gallery)
|
||||
return
|
||||
}
|
||||
|
||||
ret = &av.Gallery{
|
||||
BaseInstance: av.NewViewBaseInstance(view),
|
||||
CoverFrom: view.Gallery.CoverFrom,
|
||||
|
|
|
|||
|
|
@ -22,8 +22,13 @@ import (
|
|||
"github.com/siyuan-note/siyuan/kernel/util"
|
||||
)
|
||||
|
||||
func RenderAttributeViewTable(attrView *av.AttributeView, view *av.View, query string,
|
||||
depth *int, cachedAttrViews map[string]*av.AttributeView) (ret *av.Table) {
|
||||
func RenderAttributeViewTable(attrView *av.AttributeView, view *av.View, query string, depth *int, cachedAttrViews map[string]*av.AttributeView) (ret *av.Table) {
|
||||
viewable := attrView.RenderedViewables[view.ID]
|
||||
if nil != viewable {
|
||||
ret = viewable.(*av.Table)
|
||||
return
|
||||
}
|
||||
|
||||
ret = &av.Table{
|
||||
BaseInstance: av.NewViewBaseInstance(view),
|
||||
Columns: []*av.TableColumn{},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue