gpt4 book ai didi

mysql - 拆分数据库表以提高性能?

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

我有一个很大的“用户”表,其中大多数列(用户配置文件)只是偶尔需要,而少数列(用户凭据)则经常需要。我不喜欢仅仅为了显示用户名而获取整个行的配置文件。

会将表分成两部分,即。用户和配置文件的性能会更好还是更差(必须对配置文件进行两次查询)?在 MySql 中,获取只有几列的行与获取一百列的行之间是否存在性能差异?

谢谢。

我应该提到我使用的是 Laravel 框架。我必须使用原始查询来选择列。我不喜欢这个主意,但我会研究一下。

最佳答案

SQL 开发中有一个古老的习惯用法,它指出,当您实际执行 SELECT * 时,您实际上并不需要表中的所有内容

您可以采取一些措施来加快查询速度并获得更好的性能:

1) 仅选择 SQL 语句所需的字段,例如:

SELECT `username`, `password`, `email` FROM `users` WHERE `id` = 1

2) 向表中添加索引,以便优化经常使用的查询。例如,如果您定期查找用户的电子邮件地址,则可以考虑向 email 列添加索引。

您可能还想查看MySQL Partitioning ,但我认为这并不是您真正需要的。 MySQL 被设计为一个可以保存数百万条记录的数据库。

您还应该记住,在设计数据库时,至少执行前三个 Normal Forms 至关重要。的Normalization 。这可确保数据完整性,并优化项目的数据库结构。

关于mysql - 拆分数据库表以提高性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19617140/

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