从范式和性能的角度谈一谈表的设计

简介 数据库中表的设计是一个老生常谈的话题,对于表的设计却依然存在某些误区,本篇文章对来从范式和性能的角度一谈数据库的设计。 设计数据库? 首先第一个问题是,对于表的设计而言,我们究竟需要何种程度的设计。这取决于您数据库的规模,打个比方,就

简介

    数据库中表的设计是一个老生常谈的话题,对于表的设计却依然存在某些误区,本篇文章对来从范式和性能的角度谈一谈数据库的设计。

 

设计数据库?

    首先第一个问题是,对于表的设计而言,我们究竟需要何种程度的设计。这取决于您数据库的规模,打个比方,就好比您盖一个两层小楼,基本无需什么设计,直接上手即可,如果盖一个两层小楼也去找设计院的话,服务器空间,那岂不是画蛇添足。但是对盖一座大厦来说,不做规划和设计,就难以想象了。

    但与盖楼这个比喻不同的是,数据库会增长,未来数据量的增长和并发量可能超出您的估计。因此,如果做一个好的设计,美国服务器,在面对未来数据和并发的增长时,也许就不会那么狼狈。

    请记住,香港虚拟主机,做一个好的设计和坏的设计所需话费的成本差不多,那我们为什么不在一开始设计表时就有所注意。

 

范式?

    范式也是一个老话题了,关于范式的介绍也是满天飞了,这里就不在细说了。对于范式,我喜欢分为两大类:第一范式和其他范式。第一范式意味着数据不可再分,对此具体的解释我会接下来说到。而其他范式讲的是一件事,表中主键唯一标识其所代表的行,其他列都是对该行的描述。

    范式化使得您的设计符合关系数据库。也是一个标准化数据的过程。尤其是第一范式,即使是数据仓库,也是需要遵循的。

    下面先说说第一范式。

 

第一范式

    第一范式意味着将数据分解到最低层级,那数据分解到第一层级的标准分为以下3条:

    首先,列值按照业务类型不应该可以再分。这也是为什么表的命名应该是复数形式,而列的命名往往是单数形式。因为列所代表的意义符合第一范式的话,那应该是唯一的。

    那反过来,什么样的表不符合第一范式呢,比如说:

 

    其实使用上述代码并没有什么错,但由于上述代码而造成性能和数据完整性问题的时候,就不对了。下面我们再来看一个由于不符合第一范式而造成的导致性能问题的代码,如代码清单1所示。

–错误SELECT * from PersonWhere SUBSTRING(fullname,0,1) =‘王’ –正确SELECT * from Person where FirstName = ‘王’

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1849556.html

(0)
上一篇 2025年2月22日 01:54:25
下一篇 2025年2月22日 01:59:28

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • php7为什么性能提升

    php7性能提升原因总结: 1、存储变量的结构体变小,尽量使结构体里成员共用内存空间,减少引用,这样内存占用降低,变量的操作速度得到提升。 2、字符串结构体的改变,字符串信息和数据本身原来是分成两个独立内存块存放,php7尽量将它们存入同一…

    2025年2月23日
    100
  • 如何将PHP7达到最高性能

    php7已经发布了, 作为php10年来最大的版本升级, 最大的性能升级, php7在多放的测试中都表现出很明显的性能提升, 然而, 为了让它能发挥出最大的性能, 我还是有几件事想提醒下. PHP7 VS PHP5.6 1. Opcache…

    编程技术 2025年2月23日
    100
  • PHP7 性能翻倍关键大揭秘

    一个20年来历经了多 次改版和无数次优化的成熟语言,还能有性能提高一倍的突破绝非易事,Rasmus Lerdorf坦言,不像一般新项目多半容易找出许多改进空间,新版PHP并非修改部分程序就达到了如此的成果。 20岁老牌网页程序语言PHP,最…

    2025年2月23日
    100
  • 一文讲解PHP7性能怎么优化提升

    php7已经发布了, 作为php10年来最大的版本升级, 最大的性能升级, php7在多放的测试中都表现出很明显的性能提升, 然而, 为了让它能发挥出最大的性能, 我还是有几件事想提醒下. 1. Opcache 记得启用Zend Opcac…

    2025年2月23日
    100
  • 如何使用PHP7的生成器提高代码的性能和效率?

    如何使用PHP7的生成器提高代码的性能和效率? 在Web开发领域中,性能和效率是至关重要的。随着PHP的不断发展,PHP7引入了生成器(Generator)这一新特性,它能够在一定程度上提高代码的性能和效率。本文将介绍如何使用PHP7的生成…

    2025年2月23日
    100
  • 如何在PHP使用缓存技术提高性能?

    如何在php中使用缓存技术提高性能? 缓存技术在网站开发中起着重要的作用,它可以显著提高网站的响应速度和性能。PHP作为一种流行的后端语言,也支持使用缓存来优化代码执行效率。本文将介绍如何在PHP中使用缓存技术来提高性能。 一、什么是缓存技…

    编程技术 2025年2月23日
    100
  • 如何优化PHP以提升性能?

    如何优化php代码以提高性能? 随着互联网的迅猛发展,PHP作为一种常用的服务器端脚本语言,被广泛应用于Web开发领域。然而,由于PHP的特性和语法相对宽松,容易导致性能问题。本文将介绍如何优化PHP代码以提高性能,从而提升网站的响应速度和…

    编程技术 2025年2月23日
    100
  • php-fpm性能调优指南

    php-fpm性能调优指南 概述:随着网站和应用的不断发展,PHP-FPM在提供动态内容的能力方面成为了一个非常重要的角色。然而,随着访问量的增加,PHP-FPM可能会面临性能瓶颈。在本指南中,我们将介绍一些PHP-FPM性能调优的最佳实践…

    编程技术 2025年2月23日
    100
  • 掌握PHP和Memcache技术,提高Web应用程序性能

    掌握php和memcache技术,提高web应用程序性能 在开发Web应用程序的过程中,我们常常会遇到性能问题。随着用户量的增加和数据量的增长,传统的数据库查询会变得越来越慢。为了提高Web应用程序的性能,我们可以运用PHP和Memcach…

    编程技术 2025年2月22日
    100
  • 如何使用PHP和REDIS提升网站性能

    如何使用php和redis提升网站性能 简介:在构建高性能的网站时,优化数据库查询是一个重要而具有挑战性的任务。为了提高网站速度和响应性能,开发人员需要寻找一种高效的方法来缓存频繁的数据库查询结果。PHP和REDIS是两个非常有用的工具,可…

    编程技术 2025年2月22日
    100

发表回复

登录后才能评论