![]() |
1
1
在第一种情况下,您将找到用户名为的用户,然后检查是否找到该用户。所以在这种情况下,您的DB会检查这个用户名,您也会进行一次检查。 现在考虑第二种情况,其中存在唯一索引。因此,您将数据提供给mysql,它将尝试首先进行检查,然后抛出错误或将数据放入DB中。这样,您就不必再次检查usrname是否已经在DB中。这也将使您免受比赛条件的影响 如果您担心mysql抛出错误,那么不要担心。mysql将抛出一个完整性错误,您可以捕获并发送适当的响应,如用户名已经存在 |
![]() |
2
0
最好使用唯一索引(在数据库引擎中进行验证),因为这样可以避免线程竞争并确保数据库的完整性。通过选择进行验证是不安全的,不推荐这样做。 尽管如此,我建议在插入之前使用select进行检查,以便在尝试插入之前通知用户“使用的用户名”。 使用唯一索引的另一个很好的原因是性能。根据表格的大小,它可以快得多。 |
![]() |
hello_programmers · Mysql从其他表输出一列 1 年前 |
![]() |
Community wiki · 这个MySQL语句出了什么问题? 1 年前 |
![]() |
Community wiki · 优化从同一表中提取的多列的查询 1 年前 |
![]() |
Popo · Sql查询:返回数据库中不可用的where条件 1 年前 |
|
Hamdan Nuramdani · 对账单中一周内不同表中的数据求和 1 年前 |
|
Kugelfisch · 用php为数据库加密数据 1 年前 |