我在表格中有几百万条记录(书籍/媒体数据),我想用它们的ISBN号对表格进行分区。但是,我想通过仅使用数字的最后3位数来对它们进行分区。
* 000 * 001 * 002 ... * 999
这将我想要的所有内容划分为整洁,更小/更有用的数据部分,因为存储在那里的书籍/媒体数量有限。因此,选择/插入总是(根据我)相对较快。
现在的问题是,使用向导时,我无法弄清楚在定义函数时如何在“边界”部分使用通配符。
这可能吗?
答案 0 :(得分:2)
你做不到。这将是散列分区,SQL Server不支持。你可以做的是添加一个计算的持久列,它保留持久计算列的ISBN和分区的最后3位数。
作为旁注,向SQL Server 2008 R2添加1000个分区将使该表上的查询相当(非常)缓慢。分区永远不是获得更好性能的选择,您可以期望的最佳结果是不会从非分区表中进行回归。