gpt4 book ai didi

sql-server - SQL 2012 - 出于性能原因索引用户表字段电子邮件和密码

转载 作者:行者123 更新时间:2023-12-04 04:39:13 26 4
gpt4 key购买 nike

在执行传递电子邮件和密码的标准登录过程时,对这两个字段进行 INDEX 是否有意义?

其他表中的这两个字段没有 FK。

最佳答案

是的。这是有道理的。如果身份验证系统基于电子邮件 + 密码,并且两列都在同一个表中,那么我将创建以下索引(SQL2005+):

CREATE UNIQUE INDEX IUN_MyTable_EmailAddress#Password
ON dbo.MyTable(EmailAddress)
INCLUDE (Password);

索引有双重用途:

第一 :它将防止重复的用户 = 重复的电子邮件(或多或少:参见 bogdan@gmail.combog.dan@gmail.com)



第二 :它有助于以下查询
SELECT ...
FROM dbo.MyTable t
WHERE t.EmailAddress = @pEmailAddress


SELECT ...
FROM dbo.MyTable t
WHERE t.EmailAddress = @pEmailAddress
AND t.Password = @pPassword
-- 'p' prefix = parameter

注意:我会为此索引使用一个低于(小于 100)的填充因子。例如,我会从填充因子 90 开始,然后定期我会 check to see if there are to many page splits .根据这些观察,我会或多或少地减少/增加这个填充因子。

关于sql-server - SQL 2012 - 出于性能原因索引用户表字段电子邮件和密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19203047/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com