ASP.Net 成员资格和朋友的 SQL 架构中列名称以“Lowered”为前缀的架构原因是什么?下面是相关列的一些示例:
- aspnet_Applications.LoweredApplicationName
- aspnet_users.LoweredUserName
- aspnet_membership.LowerEmail
我看到降低的列已建立索引,但在我看来,您可以只对关联的非降低的列建立索引并忽略明显的重复。
我确信它们存在有充分的理由,但我无法弄清楚。
对于像 SQL Server 这样的不区分大小写的数据库来说,这样做是没有意义的。无论您使用什么类型的数据库,这都是一个可重用的数据库。例如。 Informix 对于存储的所有字符串数据都区分大小写。在 Informix 服务器上使用此数据库将是拥有/使用此列而不是自己对列进行 lower() 操作的一个很好的理由。我并不是说您不能通过任何方式(varbinary、BINARY_CHECKSUM、运行时/声明性 COLLATE 等)在 SQL Server 中执行区分大小写的搜索。这将改变开箱即用数据库的功能。
任何计算列的想法都是为了节省查询期间执行这些计算的周期。尤其是在大型查询期间。另一个想法是您在索引这些列时的想法。同样,这样做是为了节省周期。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)