草庐IT

EF Core从TPH迁移到TPT

IntroEFCore支持多种方式处理具有继承关系的表,现在支持TPH、TPC(EFCore7)、TPT,具体的实现方式可以参考官方文档和这篇文章。大致总结一下不同的方式的区别:TPH:所有的类型都放在一张表中,使用discriminator字段用以区别不同的类型TPT:不同的子类型有单独的表存放子类独有的字段,父虚类型也有一张单独的表存放共有的字段。TPC:不为父虚类新建表,只有子类型有单独的表,并且表内有父类和子类所有的字段。由于TPT两张表的外键关联设计,在进行查询时,会自动进行的JOIN等连表查询操作,因此极限性能不太行。需要经常用查询父类的情况,TPH就挺好;需要经常查询子类的时候,

EF Core从TPH迁移到TPT

IntroEFCore支持多种方式处理具有继承关系的表,现在支持TPH、TPC(EFCore7)、TPT,具体的实现方式可以参考官方文档和这篇文章。大致总结一下不同的方式的区别:TPH:所有的类型都放在一张表中,使用discriminator字段用以区别不同的类型TPT:不同的子类型有单独的表存放子类独有的字段,父虚类型也有一张单独的表存放共有的字段。TPC:不为父虚类新建表,只有子类型有单独的表,并且表内有父类和子类所有的字段。由于TPT两张表的外键关联设计,在进行查询时,会自动进行的JOIN等连表查询操作,因此极限性能不太行。需要经常用查询父类的情况,TPH就挺好;需要经常查询子类的时候,

Ethereum智能合约迁移到PlatON教程

        Ethereum生态的不断壮大,导致交易数量急剧增加,用户不得不在交易速度和手续费之间做出艰难的选择。随着DeFi和NFT项目持续火爆,产生了高额利润催生了大量的“套利”交易,导致用户对区块链数据隐私的需求不断增加。PlatON结合区块链、人工智能和隐私计算技术,建立了一个去中心化的协作式隐私人工智能区块链网络。相较于以太坊在交易速度、交易成本和数据隐私方面有巨大的优势。为提高开发效率,PlatON1.1.1版本和Alaya0.16.1版本将开始全面兼容Ethereum生态工具。本文将以ENS为例,讲解如何将Ethereum智能合约迁移到PlatON中。        ENS(

Ethereum智能合约迁移到PlatON教程

        Ethereum生态的不断壮大,导致交易数量急剧增加,用户不得不在交易速度和手续费之间做出艰难的选择。随着DeFi和NFT项目持续火爆,产生了高额利润催生了大量的“套利”交易,导致用户对区块链数据隐私的需求不断增加。PlatON结合区块链、人工智能和隐私计算技术,建立了一个去中心化的协作式隐私人工智能区块链网络。相较于以太坊在交易速度、交易成本和数据隐私方面有巨大的优势。为提高开发效率,PlatON1.1.1版本和Alaya0.16.1版本将开始全面兼容Ethereum生态工具。本文将以ENS为例,讲解如何将Ethereum智能合约迁移到PlatON中。        ENS(

ES迁移到TiDB总结

        ES迁移到同构库可以直接用ES的集群迁移工具,但是异构库就不能直接用现有的工具了;参考ESreindex工具的底层实现api,我们选择用ScroolApi来通过程序迁移;迁移之前需要准备es表所有字段的长度的最大值,因为历史数据跨度5年,且是非结果化数据,所有长度没有固定长度,tidb的所有字段需要设置成最大值,或者按照业务允许的原则截取存储es因为是非结构化数据,历史数据可能的字段个数和名字都有不一样的,这种需要提前统计分析出来评估迁移数量数量,以此评估目标数据库需要准备的磁盘空间大小及目标库的存储方案评估迁移周期评估迁移数据任务是否影响目标库的生产业务开展迁移程序设计数据准

ES迁移到TiDB总结

        ES迁移到同构库可以直接用ES的集群迁移工具,但是异构库就不能直接用现有的工具了;参考ESreindex工具的底层实现api,我们选择用ScroolApi来通过程序迁移;迁移之前需要准备es表所有字段的长度的最大值,因为历史数据跨度5年,且是非结果化数据,所有长度没有固定长度,tidb的所有字段需要设置成最大值,或者按照业务允许的原则截取存储es因为是非结构化数据,历史数据可能的字段个数和名字都有不一样的,这种需要提前统计分析出来评估迁移数量数量,以此评估目标数据库需要准备的磁盘空间大小及目标库的存储方案评估迁移周期评估迁移数据任务是否影响目标库的生产业务开展迁移程序设计数据准

【小程序迁移】微信小程序迁移到支付宝记坑

【小程序迁移】微信小程序迁移到支付宝记坑文档控制台网址汇总前言本地区别仅企业可用的功能限制功能插件区别云开发API区别需要做的代码变更xml部分CSS部分JS部分自定义组件比微信好的地方附录一些常用的代码段云函数数据库云文件后语后记文档控制台网址汇总不像微信的全部集中在一个控制台,一份文档,支付宝小程序更像是拼凑出来的东西,小程序一份文档一个控制台,云开发又一个,还不太好找,因此把链接汇集于此。小程序开发文档:小程序本地API的文档。小程序云开发文档:小程序云开发API的文档。小程序开放平台:相当于微信公众平台,在这里你可以管理小程序的版本、信息、设置体验版、提交审核等。小程序云:管理云开发资

【小程序迁移】微信小程序迁移到支付宝记坑

【小程序迁移】微信小程序迁移到支付宝记坑文档控制台网址汇总前言本地区别仅企业可用的功能限制功能插件区别云开发API区别需要做的代码变更xml部分CSS部分JS部分自定义组件比微信好的地方附录一些常用的代码段云函数数据库云文件后语后记文档控制台网址汇总不像微信的全部集中在一个控制台,一份文档,支付宝小程序更像是拼凑出来的东西,小程序一份文档一个控制台,云开发又一个,还不太好找,因此把链接汇集于此。小程序开发文档:小程序本地API的文档。小程序云开发文档:小程序云开发API的文档。小程序开放平台:相当于微信公众平台,在这里你可以管理小程序的版本、信息、设置体验版、提交审核等。小程序云:管理云开发资

解决Mac 安装应用提示:xx已损坏,无法打开。 您应该将它移到废纸篓问题

许多新手mac用户安装应用得时候会出现“已损坏,无法打开。您应该将它移到废纸娄”导致无法正常安装,其实应用软件b并没有损坏,只是系统安全设置,我们改如何解决呢?1、开启允许任何来源苹果已经取消了允许“任何来源”的选项。如果不启用“任何来源”的选项,那第三方软件很有可能会受到影响。那么我们需要开启允许任何来源,1、cmd+空格搜索终端,然后输入:sudospctl--master-disable2、回车输入电脑开机密码其实就是开启2、如果仍然显示“已损坏,无法打开,你应该将它移到废纸篓”。别担心,我们还可以使用以下方法在终端粘贴并复制输入命令(请注意,末端有一个空格):xattr-crcr后面输

解决Mac 安装应用提示:xx已损坏,无法打开。 您应该将它移到废纸篓问题

许多新手mac用户安装应用得时候会出现“已损坏,无法打开。您应该将它移到废纸娄”导致无法正常安装,其实应用软件b并没有损坏,只是系统安全设置,我们改如何解决呢?1、开启允许任何来源苹果已经取消了允许“任何来源”的选项。如果不启用“任何来源”的选项,那第三方软件很有可能会受到影响。那么我们需要开启允许任何来源,1、cmd+空格搜索终端,然后输入:sudospctl--master-disable2、回车输入电脑开机密码其实就是开启2、如果仍然显示“已损坏,无法打开,你应该将它移到废纸篓”。别担心,我们还可以使用以下方法在终端粘贴并复制输入命令(请注意,末端有一个空格):xattr-crcr后面输