当前位置:天才代写 > tutorial > 数据库教程 > 数据库设计的类型

数据库设计的类型

2018-05-16 08:00 星期三 所属: 数据库教程 浏览:767

  选择适当的数据类型在数据库设计中,尤其在建表的时候,用户需要分别对每个字段确定对应的数据类型。由于SQL Server2014中支持的数据类型非常多,选择正确的、合理的数据类型对后面的查找速度有直接的影响。

数据库设计的类型_数据库_数据库系统工程师_SQL_课课家

  不管存储哪种类型的数据,下面有几个简单的设计原则。

  选择可以存储数据的最小数据类型型在设计表的时候要给每个字段设置数据类型,在选择数据类型的时候应该遵循够用原则。例如,在存储用户年龄字段的时候对于数据类型可以有很多种选择,显然世界上没有谁的年龄能够超过255岁,所以此处可以使用tinyint作为年龄字段的数据类型即可,因为它的存储范围为0-255,并且只占用一个字节的存储空间。如果采用int作为年龄字段的数据类型,则从取值范围来说远远超过了年龄的理论有效范围,且它占用了4个字节的存储空间。

  尽量使用简单的数据类型简单的数据类型的操作通常需要更少的CPU周期。例如,能够使用整型的数据,就不要定义成字符型,因为字符集和排序规则使得字符比整型更复杂。能够使用SQLServer2014内第17原数圆库的性能优化建的数据类型,就不要使用自定义类型米存。此外,建议用户尽量使用整型来存结类似于P地址的一中数数字3.尽量避免NUL在有NULL值的字段上设计素引,素引统计和值比较更加复杂。

  在对NUIL值的列进行素引时,每个索引记录需要使用到额外的一个节。如果设计的列来要作作为索引,那那么应该尽可能避免NULL值的使用综上所述,在设计一个表的时候,第一步先确定每个列的合理的大类型:数子。子符串时间等等,然后,选择具体的类型,这个时候就要用到上面的三条规则。例例如datetime和timestamp列都可以存储相同类型的数据,即时间和日期,且都可以精确到秒,然面,timestamp只是用了datetime一半的存储空间,并且会根据时区变化,具有特殊的自动更新能力,不过,timestamp允许的时间范围要小得多,有时候它的特殊能力会成为障得。

  索引的选择建立索引是以最小的方法得到所需数据的有效方法,对于每一个查询SQLServer优化器将确定是否有相关的索引可以用于于数据访问。一个利用索引的访问与全表扫描描相比,可以大大减少查询时间。索引可分为聚集索引与非聚集索引两种,前者对数据进行物理排序,速度快,但一个表只能建立一个:后者仅对数据进行逻辑排序,速度相对聚集索引慢,但一个表可以建立多个素引的建立虽然加快了查询,另一方面却降低了数据更新的速度,这是因为新数据不仅要增加到表中,也要增加到索引中。

  此外,索引引还需要额外的磁盘空间和维护开销。因此,设计时应选择有效的索引,避免过多引用索引,通常只为对应用程序起关键作用的查询,或者者被很多用户繁使用的查询创建索引,查询优化完成一个查询,可能有不同的方法,但它们的实际效果却不尽相同。有趣的是,最容易想到和最简洁的查询语句不一定具有最佳的性能:相反,复杂的查询结构也未必需要更多的开销。查询优化的目的是用最少的时间和代价得到所需的数据。本节介绍用户进行查询优化应注意的一些问题。

  避免使用“*”在具体应用中,查询语句SELECT是使用最为频繁的一类操作,虽然SELECT语句有许多参数,但|目标列是必不可少的,许多用户为节省时间或图方便,不管需要查询的数据表有多少列,在目标列处直接以通配符“”代替。

  小编结语:这类操作在查询数据量小的表或视图时对性能的影响非常小,但一旦数据量较大时,以通配符“”代替所有目标列名将大大降低。

 

    关键字:

天才代写-代写联系方式