java - 大表和小表的休眠动态更新性能
问题描述
我的项目中有巨大的 mysql 表。我在我的 java EE 项目中也使用了 hibernate。表结构如下
CREATE TABLE `syncdirectionanddate` (
`username` varchar(100) NOT NULL,
accountsModifiedFromDate DATETIME,
accountsModifiedToDate DATETIME,
accountsModifiedCurrentDate DATETIME,
accountsModifiedFromPage int,
accountsModifiedCurrentPage int,
customerModifiedFromDate DATETIME,
customerModifiedToDate DATETIME,
customerModifiedCurrentDate DATETIME,
customerAndAccountsSyncDirection int,
productsModifiedFromDate DATETIME,
productsModifiedToDate DATETIME,
productsModifiedCurrentDate DATETIME,
productsModifiedFromPage int,
productsModifiedCurrentPage int,
itemInventoryModifiedFromDate DATETIME,
itemInventoryModifiedToDate DATETIME,
itemInventoryModifiedCurrentDate DATETIME,
itemInventoryAndProductsSyncDirection int,
itemNonInventoryModifiedFromDate DATETIME,
itemNonInventoryModifiedToDate DATETIME,
itemNonInventoryModifiedCurrentDate DATETIME,
itemNonInventoryAndProductsSyncDirection int,
itemServiceModifiedFromDate DATETIME,
itemServiceModifiedToDate DATETIME,
itemServiceModifiedCurrentDate DATETIME,
itemServiceAndProductsSyncDirection int,
itemDiscountModifiedFromDate DATETIME,
itemDiscountModifiedToDate DATETIME,
itemDiscountModifiedCurrentDate DATETIME,
itemDiscountAndProductsSyncDirection int,
itemGroupModifiedFromDate DATETIME,
itemGroupModifiedToDate DATETIME,
itemGroupModifiedCurrentDate DATETIME,
itemGroupAndProductsSyncDirection int,
itemOtherChargeModifiedFromDate DATETIME,
itemOtherChargeModifiedToDate DATETIME,
itemOtherChargeModifiedCurrentDate DATETIME,
itemOtherChargeAndProductsSyncDirection int,
itemSalesTaxModifiedFromDate DATETIME,
itemSalesTaxModifiedToDate DATETIME,
itemSalesTaxModifiedCurrentDate DATETIME,
itemSalesTaxAndProductsSyncDirection int,
contactsModifiedFromDate DATETIME,
contactsModifiedToDate DATETIME,
contactsModifiedCurrentDate DATETIME,
contactsModifiedFromPage int,
contactsModifiedCurrentPage int,
invoiceQBModifiedFromDate DATETIME,
invoiceQBModifiedToDate DATETIME,
invoiceQBModifiedCurrentDate DATETIME,
invoicesZohoModifiedFromDate DATETIME,
invoicesZohoModifiedToDate DATETIME,
invoicesZohoModifiedCurrentDate DATETIME,
invoicesZohoModifiedFromPage int,
invoicesZohoModifiedCurrentPage int,
invoiceQBinvoicesZohoSyncDirection int,
vendorQBModifiedFromDate DATETIME,
vendorQBModifiedToDate DATETIME,
vendorQBModifiedCurrentDate DATETIME,
vendorsZohoModifiedFromDate DATETIME,
vendorsZohoModifiedToDate DATETIME,
vendorsZohoModifiedCurrentDate DATETIME,
vendorsZohoModifiedFromPage int,
vendorsZohoModifiedCurrentPage int,
vendorQBvendorsZohoSyncDirection int,
customerMapping varchar(50),
PRIMARY KEY (`username`)
);
该表需要非常频繁的更新,一次只需要更新 2 或 3 列。我的问题是:我应该保留这个大表并在休眠中使用@dynammicupdate 还是将这个表划分为较小的表而不使用动态更新。我不介意一张桌子或多张桌子。我只想知道这两种方法的性能如何。
解决方案
推荐阅读
- php - PHP RSA加密openssl问题
- android - Kotlin Realm 属性未设置
- ethereum - 有没有办法在不解构字段的情况下返回 Solidity 中的结构数组?
- php - 如何测试 Laravel 内置的验证电子邮件通知?
- c# - 如何使用 microsoft ASP.NET MVC create 命令修复 http 错误 400
- javascript - 在 Wordpress 中触发 MediaElement.js 视频的大小调整
- python - 如何遍历一个元组或函数列表并对它们的返回值进行操作?
- php - 处理特殊字符 PHP Webdriver
- javascript - 如何在 ResultCard 中实现 onclick 并将 div 与另一个组件交换
- android - 如何更新 Dart 类变量并刷新颤振状态?