在SQL中创建函数索引

我最近的一个项目出现需要能存放超过18位的数字,好比是我们的身份证再次升级,这样C#中的DECIMAL就不能满足要求

这样只要在程序段做数字型校验后,数据库存放的格式则是NVARCHAR(30)或类似的。

然而这样,如果存在范围检索的话,系统将会比较慢,特别是ASP的网站程序

因此对这种存放超长数字的字段,我们可以建一个函数索引,然后在查询的时候,强制其使用该索引即可。

但是SQL好像不提供函数索引,因此想到了下面的方法(是同事想到的):

创建一个字段,然后在公式中输入相应的处理方式,这里是将其转换成为DECIMAL的数值

然后在查询的时候加上WITH(INDEX(XXXXXX))的语句,这样查询速度就是飞快了

posted on 2009-03-19 15:37  Mike Luo  阅读(452)  评论(0编辑  收藏  举报

导航