【问题标题】:database partiton Function (sql server 2008)数据库分区功能(sql server 2008)
【发布时间】:2009-11-02 07:10:47
【问题描述】:

嗨, 我想在 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')   

这个分区在我想对中间值进行排序的方面不满足我,例如.mh-30-q-126 ..这里我想将目标值“q”移动到相应的分区,,, 请告诉我如何编写这个函数

【问题讨论】:

    标签: sql sql-server database-design sql-server-2008 partitioning


    【解决方案1】:

    你不能直接因为 PARTITION 的工作原理

    “boundary_value”是一个常数,不能使用 LIKE。

    我能建议的只是一个计算列,它可以提取您想要的值并在此基础上进行分区。 但是,您的值可能不适合进行一致的解析。

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

    注意:我没有试过这个。我通常会在某个日期或类似的时间进行分区。

    但是,除非我真的必须这样做,否则我也不会进行分区,例如 1 亿行+,因为分区中隐含的开销。需要分区吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多