>데이터 베이스 >MySQL 튜토리얼 >MySQL数据类型优化—整数类型优化选择_MySQL

MySQL数据类型优化—整数类型优化选择_MySQL

WBOY
WBOY원래의
2016-06-01 13:10:551227검색

在设计数据库的时候,整数类型的使用时不可避免的如ID,类型等。

在选择整数的同时主要是考虑是数据范围,如是否带符号,最大存储值。


一、有误符号


在无符号unsigned类型比有符号的整数多一倍。

tinyint 范围 -128~127

tinyint unsigned 范围 0~255

这里的tinyint unsigned比tinyint 最大数多一倍,其它的同理。

果我们的范围 1-200,如果使用带符号的整数 tinyint是不能满足的,使用只有选择更宽的字段

但使用tinyint unsigned就可以满足。


二、整数范围


  

tinyint  ~百  

smallint ~万 

mediumint ~千万

int ~10亿

bigint ~ 10亿x10亿

数据详情范围

tinyint 8 bits 0 ~ 255 -128 ~ 127

smallint 16 bits 0 ~ 65535 -32768 ~ 32767


mediumint 24 bits 0 ~ 16777216 -8388608 ~ 8388607


int 32 bits 0 ~ 4294967295 -2147483648 ~ 2147483647


bigint 64 bits 0 ~ 18446744073709551615 -9223372036854775808 ~ 9223372036854775807

三、如何选择

这里的数据主要是大楷的数据范围比如100左右用tinyint ,有时我们需要通过计算,比如我们发布的一片新闻

统计它的访问量,如:1000(日访问量)*365(天)*10(年)=36500000(千万) 这是数据是大于mediumint,而在int范围类

但如果我们考虑一下,一篇新闻能到日访问量到1000而且持续10年,如果能那就选择int,如果可能性不大mediumint可能是最好的选择。

有时我们都图略的这些范围的分析,反正只要是整数,要么int或者bigint。在不是很影响性能的情况下,节约设计分析。

当时还有一个设计误区其实用 int(x)来作为整数范围,原来发布过相应的博客数据库-整数类型宽度—int(3)与int(11)区别 来论证过!

原文地址: http://blog.yi18.net/articles/2014/04/06/1396777140197.html
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.