asp.net成员资格表中Lowered *列的意义是什么?

时间:2020-03-06 14:24:24  来源:igfitidea点击:

在ASP.Net成员身份和好友的SQL架构中,以" Lowered"开头的列名称的体系结构原因是什么?以下是有关列的一些示例:

  • aspnet_Applications.LoweredApplicationName
  • aspnet_users.LoweredUserName
  • aspnet_membership.LowerEmail

我看到对降低的列进行了索引,但是在我看来,我们可以对关联的非降低的列进行索引,而不必进行明显的重复。

我敢肯定他们存在的充分理由,但我无法弄清楚。

解决方案

在不区分大小写的数据库(例如SQL Server)中,没有任何目的。无论我们使用的是哪种数据库,这都是一个可重用的数据库。例如。 Informix对于存储的所有字符串数据均区分大小写。在Informix服务器上使用此数据库将是拥有/使用此列而不是我们自己lower()来访问该列的一个很好的理由。我并不是说我们不能通过任何方式(varbinary,BINARY_CHECKSUM,运行时/声明性COLLATE等)在SQL Server中进行区分大小写的搜索。这将改变现成数据库的功能。

任何计算列的想法都是为了节省查询期间进行这些计算的周期。最特别是在大型查询期间。另一个想法是我们在索引这些列时所想到的。同样,这样做是为了节省周期。