zoukankan      html  css  js  c++  java
  • MySQL数据类型优化—整数类型优化选择

    原文:http://bbs.landingbj.com/t-0-240002-1.html

    在设计数据库的时候,整数类型的使用时不可避免的如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

    逆风的方向更适合飞翔,不怕千万人阻挡,只怕自己投降!
  • 相关阅读:
    要使用springtest来进行单元测试 否则将无法注入 applicationContext.xml
    关键词的重要性
    发卡可以以交叉方式佩戴来增强可爱性
    红毛类型
    oracle学习总结4
    对springMVC的简单理解
    理解RESTful架构
    项目移植过程中报:“Project facet Java version 1.7 is not supported.” 错误
    svn服务器的搭建
    oracle学习总结3
  • 原文地址:https://www.cnblogs.com/jackzz/p/9125962.html
Copyright © 2011-2022 走看看