Разделение по последним данным - Sql Server 2012 [дубликат]

вам нужно добавить класс [System.Serializable] в PlayerItem, например:

using System;
[System.Serializable]
public class PlayerItem   {
    public string playerId;
    public string playerLoc;
    public string playerNick;
}
0
задан 2 revs, 2 users 100% 3 September 2012 в 04:43
поделиться

1 ответ

MsSql позволяет не детерминированные функции в функциях разбиения:

CREATE PARTITION FUNCTION MyArchive(datetime)
AS RANGE LEFT FOR VALUES (GETDATE() – 10)
GO

Означает ли это, что записи старше 10 дней автоматически перемещаются в архив (первый) раздел? Конечно, нет.

В базе данных хранится дата, когда была создана схема секционирования, и использует ее наиболее (логическим) способом. Допустим, что одна из приведенных выше схем указана в 2000 -01-11, что делает разделительную дату 2000-01-01. Когда вы запрашиваете данные с датой ниже, чем начальная дата разграничения (border_value - 2000-01-01), вы будете использовать только раздел архива. Когда вы запрашиваете данные с датой выше, чем текущий день минус 10 дней (GETDATE () - 10), вы будете использовать только текущий раздел. Все остальные запросы будут использовать оба раздела, т. Е. Запрос данных с датой ниже текущей даты минус 10 дней, но выше даты разграничения (2000-01-01).

Это означает, что с каждым днем диапазон дат, для которых используются оба раздела, растет. И вам лучше было бы установить раздел на разделительную дату детерминированным образом.

Я не вижу никакого сценария, где это полезно.

3
ответ дан Goran 21 August 2018 в 23:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: