详解MySQL数据类型之数字类型正确使用

来源:Asp之家 时间:2010-06-20 15:02:00 

无论是在小得可怜的免费数据库空间或是大型电子商务网站,合理的设计表结构、充分利用空间是十分必要的。这就要求我们对数据库系统的常用MySQL数据类型有充分的认识。下面我就将我的一点心得写出来跟大家分享。

MySQL数据类型之数字类型

数字类型按照我的分类方法分为三类:整数类、小数类和数字类。

我所谓的“数字类”,就是指DECIMAL和NUMERIC,它们是同一种类型。它严格的说不是一种数字类型,因为他们实际上是将数字以字符串形式保存的;他的值的每一位(包括小数点)占一个字节的存储空间,因此这种类型耗费空间比较大。但是它的一个突出的优点是小数的位数固定,在运算中不会“失真”,所以比较适合用于“价格”、“金额”这样对精度要求不高但准确度要求非常高的字段。

小数类,即浮点数类型,根据精度的不同,有FLOAT和DOUBLE两种。它们的优势是精确度,FLOAT可以表示绝对值非常小、小到约1.17E-38(0.000...0117,小数点后面有37个零)的小数,而DOUBLE更是可以表示绝对值小到约2.22E-308(0.000...0222,小数点后面有307个零)的小数。

FLOAT类型和DOUBLE类型占用存储空间分别是4字节和8字节。如果需要用到小数的字段,精度要求不高的,当然用FLOAT了。可是说句实在话,我们“民用”的数据,哪有要求精度那么高的呢?这两种类型至今我没有用过――我还没有遇到适合于使用它们的事例。

用的最多的,最值得精打细算的,是整数类型。从只占一个字节存储空间的TINYINT到占8个字节的BIGINT,挑选一个“够用”并且占用存储空间最小的类型是设计数据库时应该考虑的。TINYINT、SMALLINT、MEDIUMINT、INT和BIGINT占用存储空间分别为1字节、2字节、3字节、4字节和8字节,就无符号的整数而言,这些类型能表示的最大整数分别为255、65535、16777215、4294967295和18446744073709551615。

如果用来保存用户的年龄(举例来说,数据库中保存年龄是不可取的),用TINYINT就够了;九城的《纵横》里,各项技能值,用SMALLINT也够了;如果要用作一个肯定不会超过16000000行的表的AUTO_INCREMENT的IDENTIFY字段,当然用MEDIUMINT不用INT,试想,每行节约一个字节,16000000行可以节约10兆多呢!

标签:mysql,数据类型
0
投稿

猜你喜欢

  • 从绘画语言的发展,看视觉设计风格

    2008-08-03 17:11:00
  • ADO的错误码对应的含义

    2007-10-22 17:31:00
  • MSSQL数据类型

    2008-08-03 17:21:00
  • MySQL最新漏洞分析

    2012-07-11 15:41:10
  • XML的简单读取与写入

    2008-09-04 10:35:00
  • 游戏中的交互设计

    2008-08-25 19:20:00
  • 一个非常有代表性的javascript简易拖动类

    2009-05-25 12:44:00
  • 去除DW MX 2004表格宽度辅助

    2010-09-02 12:37:00
  • ASP中模拟PHP的关联数组

    2009-12-25 16:31:00
  • 真正保险的“有属性”检测

    2010-03-28 13:25:00
  • 理解SQL SERVER中的逻辑读,预读和物理读

    2012-01-05 19:32:29
  • Js实现仿msn的右下角popup提示窗口

    2007-12-27 20:30:00
  • MySQL列类型的选择与MySQL的查询效率

    2009-01-14 12:53:00
  • FCKeditor新版本发布,并更名为CKeditor

    2009-09-08 13:09:00
  • 用户体验与心流理论

    2008-09-23 11:51:00
  • ASP 连接mysql信息(strConnString)

    2009-10-29 12:02:00
  • 关于utf-8格式中截取中英文字符串长度无效的问题

    2008-11-25 14:00:00
  • PHP利用ChatGPT实现轻松创建用户注册页面

    2023-05-25 09:22:16
  • IA学习笔记04:标签系统

    2009-09-22 14:40:00
  • DBA_2PC_PENDING 介绍

    2009-02-28 10:59:00
  • asp之家 网络编程 m.aspxhome.com