Я использую EF6 для создания и заполнения таблицы ее основным ключом как ServerTime (DateTime).Создать PARTITION на MySql Таблица, созданная с помощью кода Первая реализация на EF6
Таблица очень велика и позволяет ускорить время доступа, а также воспользоваться тем, что мой стол разбит на более мелкие файлы разделов, а не один массивный .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'
Я бы хотел, чтобы таблица была автоматически разделена на servertime во время создания кода First.
Я уже знаю сырой синтаксис MySql для разбиения таблицы по диапазону.
Мое настоящее решение состоит в том, чтобы создать и заполнить базу данных с помощью кода EF6, а затем вручную выполнить разбиение на разделы с помощью необработанного запроса MySQL. Другое решение - использовать простой старый ADO.NET непосредственно после создания кода First, но я бы предпочел бы, чтобы все было упорядочено внутри кода EF6.
Что мне нужно знать, как я могу сделать то же самое через код первой реализации (при условии, что это даже возможно)
Большое спасибо.
База данных составляет несколько гигабайт, охватывая несколько месяцев. В моем первом тесте, сравнивающем секционированную с несегментированной таблицей с необработанными запросами, я обнаружил, что производительность была значительно улучшена с помощью раздела. Кроме того, он позволяет мне архивировать старые разделы как небольшие отдельные файлы на других дисках, стихи с огромной гигабайтной таблицей, которая должна оставаться на активном жестком диске. Я планирую использовать шаблон репозитория, но мне все равно хотелось бы, чтобы мой стол тоже разбился на разделы. Существует удобство разделения моих данных между файлами меньших разделов, а также скоростью. – guerillacodester
Привет, Вы можете просто создать свою сущность, используя первую практику EF6. Используя поиск через репозиторий, выполните поиск данных и заполните эту таблицу. Как я и предложил, используйте искомые данные, а затем заполняйте данные и выполняйте эту деятельность так часто, как вам нужно. Подобно тому, как пользователи не на пике. –
Нет. Это не отвечает на исходный вопрос. В настоящее время мой файл базы данных .idb имеет размер более 100 гигабайт. Все записи помещаются в один файл на моем активном жестком диске. Некоторые записи хранятся более года назад, и к ним часто не обращаются, поэтому их можно отделить и переместить на второй диск. Разбирая мою таблицу по диапазону, я могу разбить этот массивный .idb-файл на более мелкие, каждый из которых содержит записи для определенного диапазона datetime. Таким образом, я мог бы перемещать наименее доступные записи на вспомогательный диск, освобождая необходимое пространство на жестком диске. Мне нужно разбиение на разделы, чтобы сделать это. – guerillacodester