gpt4 book ai didi

php - 从 1000,000 个用户条目中查找用户名的可能方法

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:14:18 25 4
gpt4 key购买 nike

我在 MYSQL 中拥有 100,000 用户的数据库。在那个数据库中,我有 ID,username,Fname,Lname 等列。当 www.example.com/Jimwww.example.com/123(其中 JIM 是用户名,123 是用户表中的ID)

我正在使用 MYSQL 查询:select * from users where ID = 123 OR username = Jim我在 PHP 中执行上面的查询。上述查询的输出是:

| ID | Username | fname  | lname   |
+----+----------+--------+---------+
|123 | jim | Jim | Jonson |

我的问题是在数据库中选择用户名或 ID 需要花费大量时间。

我使用了以下查询

SELECT * FROMusersUSE INDEX (UsersIndexId) where id=123

这是调用 Index 的正确方法吗?

EXPLAIN SELECT * FROM  `users` WHERE ID =327

本页

id  select_type  table    type    possible_keys        key      key_len ref rows Extra 
1 SIMPLE users Const PRIMARY,UsersIndexId PRIMARY 4 const

1

最佳答案

我建议你看看这个:How MySQL Uses Indexes

引用第一段:

Indexes are used to find rows with specific column values quickly. Without an index, MySQL must begin with the first row and then read through the entire table to find the relevant rows. The larger the table, the more this costs. If the table has an index for the columns in question, MySQL can quickly determine the position to seek to in the middle of the data file without having to look at all the data. If a table has 1,000 rows, this is at least 100 times faster than reading sequentially.

这应该有助于加快您的搜索速度。

(编辑:更新了指向更新版本的 SQL 文档的链接)

PS:更具体地说,column indexes可能是你想要的。您可以在此处找到有关添加索引的更多信息:Create Index Syntax

关于php - 从 1000,000 个用户条目中查找用户名的可能方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13928186/

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