1

こんにちは、フリート管理システム用に SQL Server 2008 でパーティションを作成したいと考えています。たとえば、mh-30-q-126、mh-30-a-126、mh-12-fc-126 のような --values (車両番号) をそれぞれのパーティションに移動するように、パーティション関数を作成したいと考えています。それぞれ、q、a、fc のような中間値に基づいて

私の試用機能: -

CREATE PARTITION FUNCTION [partition](varchar(20))
 AS RANGE RIGHT  
FOR VALUES ('%a%', '%G%', '%Z%')  

この関数は、すべての (すべての値) データをパーティション 4 に移動します。

 CREATE PARTITION FUNCTION [partition](varchar(20))
 AS RANGE RIGHT 
FOR VALUES ('a', 'G', 'Z')   

このパーティションは、中央にある値をソートしたいという点で私を満足させません。この関数の書き方

4

1 に答える 1

1

PARTITIONの仕組みのため、直接はできません

「boundary_value」は定数で、LIKE は使用できません。

私が提案できるのは、必要な値を抽出し、それを分割する計算列だけです。ただし、一貫した解析に適していない値がある場合があります。

mh-30-q-126
mh-30-a-126
mh-12-fc-126

注:私はこれを試していません。私は通常、日付などに分割します。

ただし、パーティション化の暗黙のオーバーヘッドのため、1億行以上など、本当に必要な場合を除き、パーティション化も行いません。分割する必要がありますか?

于 2009-11-02T09:15:34.330 に答える