gpt4 book ai didi

mysql - 500000 个用户的数据库速度相当慢

转载 作者:行者123 更新时间:2023-11-29 07:18:15 25 4
gpt4 key购买 nike

我有一个具有以下结构的数据库:

username,email,ip,hash,salt

目前,我们的数据库中有大约 600,000 个用户。用户提示查询该数据库相当慢。

在我们的测试中,我们发现检索用户记录大约需要 1.15 秒。该测试基于以下查询:

SELECT * FROM users WHERE email = 'test@mail.com'

我不是数据库管理方面的专家。我知道如何像字典一样使用它,但是我不知道数据库优化。

我希望能得到一些帮助。理想情况下,即使是 1000 万用户,我们也能在一秒内像这样查询数据库。

有人对优化这样的简单查询有什么建议吗?我现在对任何事情都持开放态度,如果有更合乎逻辑的方法的话,甚至可以重组数据库。因为现在,他们只是按照注册的顺序进行排序。

最佳答案

MySQL 有两个重要的工具来提高性能。对于您的查询类型,500,000 行或 10,000,000 行并不是什么大问题。尽管其他技术(例如 NOSQL)可以执行相同的操作,但应用程序(例如您的应用程序)通常依赖于数据库的 ACID 属性。关系数据库可能是正确的解决方案。

第一个设施——正如其他地方提到的——是索引。对于您的情况:

create index idx_users_email on users(email);

索引将在插入删除操作中产生非常少量的开销。然而,使用索引,查找一行的时间应该大大低于 0.1 秒——即使使用并发查询也是如此。

根据您正在运行的其他查询,其他索引可能也适用。

第二个重要功能是对表进行分区。对于 users 表来说这不是必需的。但是,它对于交易和其他类型的数据非常有用。

关于mysql - 500000 个用户的数据库速度相当慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37099828/

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