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

    逆风的方向更适合飞翔,不怕千万人阻挡,只怕自己投降!
  • 相关阅读:
    Danny_Su的devexpress 9.3.3的注册插件在vs2010RC中无法使用的解决办法
    EntitySpaces2009中的关系
    EntitySpaces2009的开发文档地址
    EntitySpaces2009支持事务
    EntitySpaces2009中连接Access的连接设置
    基于matlab的视频测速处理
    图像拼接与融合
    某图像分析系统
    黑子数与开盘指数相关性分析
    另类的图像处理
  • 原文地址:https://www.cnblogs.com/jackzz/p/9125962.html
Copyright © 2011-2022 走看看