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亿
数据详情范围
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
MySQL数据类型优化—整数类型优化选择的更多相关文章
- Mysql 数据类型、约束类型
mysql数据类型 MySQL中定义数据字段的类型对你数据库的优化是非常重要的. MySQL支持多种类型,大致可以分为三类:数值.日期/时间和字符串(字符)类型. 数值类型 MySQL支持所有标准 ...
- 解析MySQL中存储时间日期类型的选择问题
解析MySQL中存储时间日期类型的选择问题_Mysql_脚本之家 https://www.jb51.net/article/125715.htm 一般应用中,我们用timestamp,datetime ...
- C语言基础学习基本数据类型-其他整数类型
其他整数类型 初学C语言时,int类型会满足你对整数的大多数需求. C语言还提供了三个关键字用以修饰基本的整数类型:short.long和unsigned.有以下几个注意点: (1)C语言没有具体规定 ...
- MySQL 存储引擎的类型以及选择
针对MySQL,数据最终以什么样的形式保存?以及数据保存在硬盘的什么位置? 1.MySQL的存储引擎 MySQL属于数据管理系统(DBMS),其中包括数据库,负责存储数据:还有数据库访问管理的接口系统 ...
- 网易云课堂_C语言程序设计进阶_第一周:数据类型:整数类型、浮点类型、枚举类型_1计算分数精确值
1 计算分数精确值(10分) 题目内容: 由于计算机内部表达方式的限制,浮点运算都有精度问题,为了得到高精度的计算结果,就需要自己设计实现方法. (0,1)之间的任何浮点数都可以表达为两个正整数的商, ...
- MySQL数据类型之字符串类型
CHAR(M) 分配固定长度的空间建(字节) VARCHAR(M)按照实际长度存储(占用的字节数是实际的长度加上1或者2)当M的值小于255时,加一. 当M的值大于255时,小于65532时,加 ...
- mysql 中 int 等类型如何选择
详见:https://blog.csdn.net/samll_snail/article/details/86534719 .
- MySQL数据类型及使用场景
MySQL数据类型介绍 整数类型 类型名称 说明 存储需求 取值范围有符号 取值范围符号 TINYINT 很小的整数 1个字节 -128~127 0-255 SMALLINT 小的整数 2个字节 32 ...
- 学习计划 mysql 整数类型后面的数字,是什么意思?
Mysql中定义整数类型的数字,是指定这个字段的长度么? 比如 INT(10) 10代表10个字节么?还是只能存储10为长度的数字内容? 今天本来想学习下字符类型,一下子发现了这个,感觉好有趣. -- ...
随机推荐
- spring的工厂类
主要介绍两种工厂接口BeanFactory(老版本,已过时)和ApplicationContext ApplicationContext接口:每次在加载applicationContext.xml的时 ...
- HBase1.0.1.1 API与原来有所不同
package com.felix.hbaseapi_test; /* 这是旧版的 API操作 */ public class hbaseapifelix { public static final ...
- BSOJ 5603 -- 【SNOI2017】炸弹
题好数据水系列,网上的十几行神仙解法A了原数据. 这道题要用到线段数优化建图的知识.然而考试考到这道题时我还不会. 我们设分别表示每个炸弹向左和向右最远能炸到哪个炸弹.很容易想到一个思路,就是每个炸弹 ...
- [转]Jquery 点击图片在弹出层显示大图
这个还行不需要别的包! https://www.cnblogs.com/antis/p/7053991.html
- P1316 丢瓶盖(二分+贪心)
思路:都在注解里 #include<iostream> #include<algorithm> using namespace std; ; int a[maxn], n, m ...
- mysql锁2
死锁: 指两个事务或者多个事务在同一资源上相互占用,并请求对方所占用的资源,从而造成恶性循环的现象. 出现死锁的原因: 系统资源不足: 进程运行推进的顺序不当: 资源分配不当. 产生死锁的四个必要条件 ...
- pip 安装指定版本软件包
默认情况下,pip 将安装最新版本的软件包,但有时需要获取特定版本的安装包,比如 jinja2 从 2.9 开始加入了 async 关键字,这个会导致 py2exe 报错:Invalid Syntax ...
- [转]C#中基于GDI+(Graphics)图像处理系列之前言
直接给出原文链接吧: C#中基于GDI+(Graphics)图像处理系列之前言 链接:https://pan.baidu.com/s/1zm5TCOHqkqEfiLZuqO0UMA 提取码:qz0h
- Linux死锁检测-Lockdep
关键词:LockDep.spinlock.mutex. lockdep是内核提供协助发现死锁问题的功能. 本文首先介绍何为lockdep,然后如何在内核使能lockdep,并简单分析内核lockdep ...
- VMware中安装Centos 7
1.点击“文件-新建”,如下图 2.选择"典型".下一步 3.选择”稍后安装操作系统”,下一步. 4.选择要安装的操作系统类型,下一步 5.填写虚拟机名称,设置虚拟机的存放位置,下 ...