美文网首页go
918. 【Golang】解决:error: grpc: re

918. 【Golang】解决:error: grpc: re

作者: 七镜 | 来源:发表于2024-01-20 00:04 被阅读0次

    说明

    在基于gorm开发应用时,为了方便获取表关联的数据,偶尔会使用这样的写法:Preload(clause.Associations)。这个写法能预加载和该表关联的所有关系表,非常方便。但这里有个坑:如果一张表关联了另一张无关紧要的大表,那么会造成数据量特别庞大,不但查询时间长,还可能导致无法顺利通过网络请求发送给客户端。

    比如最近七镜使用grpc时,客户端就遇到了这么个错误:

    error: grpc: received message larger than max (4339743 vs. 4194304)
    
    • 意思是接收到服务端的消息太大了

    解决办法

    服务端做表关联数据时,需要哪些表就写哪些表,不要图简单写:Preload(clause.Associations)。比如我要一个名叫BindProfiles的关联表,那就写 Preload(clause.Associations)

    相关文章

      网友评论

        本文标题:918. 【Golang】解决:error: grpc: re

        本文链接:https://www.haomeiwen.com/subject/vdhjodtx.html