gpt4 book ai didi

c# - 在通过 EF6 上的 Code First 实现创建的 MySql 表上创建 PARTITION

转载 作者:行者123 更新时间:2023-11-29 12:05:00 25 4
gpt4 key购买 nike

我正在使用 EF6 创建并填充一个表,其主键为 ServerTime (DateTime)。

该表非常大,为了加快访问时间,并在执行如下外部查询时享受将表拆分为较小的分区文件而不是一个庞大的 .ibd 文件的好处:

SELECT
gbpusd.servertime,
gbpusd.orderbook
FROM
gbpusd
WHERE
gbpusd.servertime BETWEEN '2014-12-23 23:48:08.183000' AND '2015-03-23 23:48:08.183000'

我希望在 Code First 创建期间按服务器时间自动对表进行分区。

我已经知道按范围对表进行分区的原始 MySql 语法。

我当前的解决方案是首先通过 EF6 代码创建并填充数据库,然后通过原始 MySQL 查询手动执行分区。另一个解决方案是在 Code First 创建后直接使用普通的旧式 ADO.NET,但我宁愿在 EF6 代码中简化所有内容。

我需要知道的是如何通过 Code First 实现来完成同样的事情(假设这是可能的)

非常感谢。

最佳答案

只是加速吗?您需要在哪里填充这些数据?假设您有服务层或管理器来使用该实体。您始终可以使用存储库来使用 lembda 表达式对实体执行操作。

示例

using (var dataBaseContext= new your_DbContext())
{
var repoServer = new Repository<gbpusd>(dataBaseContext);
var searchedGbpusd =repoServer.SearchFor(i=> i.servertime <= date && i.servertime >= date).select;
///you can specify date what ever you like
///use this searched Data where ever you want to use.
}

希望能有所帮助。谢谢法赫德

关于c# - 在通过 EF6 上的 Code First 实现创建的 MySql 表上创建 PARTITION,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31662645/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com