首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL数据库性能

MySQL数据库性能
EN

Stack Overflow用户
提问于 2017-01-02 12:03:47
回答 2查看 98关注 0票数 0

我正在使用PHP/Laravel和MySQL进行一个项目,我有一个有大约20列的表,在大多数情况下,有些列是空的.应用程序的性能对我来说很重要,而数据库的大小不是.我想知道空列对我的应用程序性能的影响。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-02 14:05:38

首先,empty/blank数据库列和NULL值列有很大的区别。正如您解释的那样,在大多数情况下,它是一个列,因此性能可能很低,因为数据库需要越来越多的空间来容纳所有空值,而不是空值。更大的空间意味着更多的硬件成本+难以维护+更少的性能。

因此,最好的方法是将列类型设置为NULL,其中数据库完全忽略字段,如果有大量记录和列,则使用较少的空间,从而提高性能。

注意:正如我提到的,除非您有大量的数据,否则这只会影响,如果记录的数量相对较少,则不会影响。

票数 2
EN

Stack Overflow用户

发布于 2017-01-02 12:38:17

这是一个非常广泛的问题,因此不可能有具体的答案。然而,我想提供一个答案,因为这类问题出现了,它可以得到一个标准的参考答案。

一般来说,当你想到一个设计时,“我希望它表现得很好”不应该是你的第一个问题。您应该首先按照良好的设计原则设计数据库(尤其是作为初学者!)然后在出现性能问题时解决它们。然后,当您在那里获得经验时,您可能会发现一些需要进行特定优化的情况。换句话说,过早的优化是万恶之源。

标准好的db设计原则将为您提供一个数据库,该数据库针对一般情况进行了很好的优化,但可能不适合特定情况。然而,在几乎所有的情况下,你都会通过这个方向获得足够好的性能。

在RDBMS中预见到设计无法适应的特定性能问题是非常困难的,所以最好先开门,必要时才关门。否则,您可能会关闭错误的门,总体上损害您的应用程序的性能。

对于初学者来说,这是关于性能和设计的好的一般建议,而不管数据库是什么。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41426500

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档