`
shixin42
  • 浏览: 55252 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

mysql主键int和bigint类型的区别

 
阅读更多
有符号int最大可以支持到约22亿,远远大于我们的需求和MySQL单表所能支持的性能上限。对于OLTP应用来说,单表的规模一般要保持在千万级别,不会达到22亿上限。如果要加大预留量,可以把主键改为改为无符号int,上限为42亿,这个预留量已经是非常的充足了。
使用bigint,会占用更大的磁盘和内存空间,内存空间毕竟有限,无效的占用会导致更多的数据换入换出,额外增加了IO的压力,对性能是不利的。
因此推荐自增主键使用int unsigned类型,但不建议使用bigint。
分享到:
评论

相关推荐

    mysql雪花算法生成唯一整型ID主键的实现方法

    MySQL 雪花算法生成唯一整型ID主键的实现主要针对大数据环境下,需要大量生成全局唯一ID的需求。雪花算法是一种分布式ID生成策略,由Twitter开源,其设计目标是在分布式系统中生成具有全局唯一性、有序性和高并发性...

    MySQL AUTO_INCREMENT 主键

    - **自动递增字段类型**:`AUTO_INCREMENT`仅支持整数类型,如`INT`、`BIGINT`等。 ##### 实现示例 ```sql ALTER TABLE student AUTO_INCREMENT = 100; ``` 这条命令将会把`student`表中`id`字段的起始值设置为...

    MySQL数据库中把int转化varchar引发的慢查询

    在这种情况下,如果`appkey`原本是`int`类型,MySQL可以利用主键的索引来快速定位数据。但是,由于现在`appkey`是`varchar`,这使得在比较时无法直接使用索引,导致了全表扫描(type: ALL),这在大型表中会显著降低...

    MySql数据库的列类型(字段类型).pdf

    整型又分为 TINYINT、SMALLINT、MEDIUMINT、INT 和 BIGINT,它们的区别在于取值范围和存储空间的不同。例如,TINYINT 是一种非常小的整数类型,适合存储极小的整数值,而 BIGINT 则适合存储非常大的整数。在整型中,...

    mysql基础知识和mysql优化整理

    2. 数据类型:MySQL支持多种数据类型,如整数类型(TINYINT、INT、BIGINT)、浮点类型(FLOAT、DOUBLE)、字符串类型(CHAR、VARCHAR、TEXT)、日期和时间类型(DATE、TIME、DATETIME、TIMESTAMP)等。 3. SQL语言...

    深入浅出MySQL数据库开发、优化与管理维护.doc

    例如,整数类型可以分为 TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT 等,浮点数类型可以分为 FLOAT、DOUBLE、DECIMAL 等。 AUTO_INCREMENT AUTO_INCREMENT 是 MySQL 中的一种数据类型,它可以自动为列赋予唯一的...

    java实体转mysql建表语句

    首先,分析实体类的属性,然后根据属性类型选择对应的MySQL数据类型,比如`String`对应`VARCHAR`,`int`对应`INT`,`Date`对应`DATE`或`TIMESTAMP`等。同时,别忘了添加主键、外键、索引等约束。 6. **数据类型映射...

    mysql非主键自增长用法实例分析

    4. 自增长列可以是任何整数类型,如 TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT。 5. 在多用户环境中,自增长列的递增可能不是连续的,因为并发插入可能导致跳过某些值。 6. 非主键自增长列在某些情况下可能造成...

    MySQL数据类型

    MySQL 数据类型主要有六大类,即整型、浮点型、定点数浮点型、字符串、日期时间类型和二进制数据类型。 整型 整型是 MySQL 中最基本的数据类型,包括有符号和无符号两种形式。有符号整型包括 tinyint、smallint、...

    主键的选择1

    自增主键是最常见的主键类型,通常使用INT或BIGINT数据类型。INT占用4字节,最大可表示2147483648,适合存储较小的数据量。若预期数据量可能超过这个范围,应选用8字节的BIGINT,它的最大值远高于INT,可满足更大的...

    MySQL学习资料知识点总结.doc

    MySQL支持多种数据类型,包括整数类型(tinyInt、smallint、mediumint、int和bigint)、小数类型(float、double和decimal)、日期时间类型(date、time、datetime和timestamp)以及文本和二进制类型(CHAR、VARCHAR...

    MYSQL教程02 MYSQL教程02 MYSQL教程02

    在安装与配置MySQL后,我们需要熟悉数据类型,如整数类型(TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT)、浮点数类型(FLOAT、DOUBLE)、字符串类型(CHAR、VARCHAR、TEXT)、日期和时间类型(DATE、TIME、DATETIME...

    详解MySQL 表中非主键列溢出情况监控

    这个监控方案虽然简单实用,但存在一些局限性,例如未检查bigint类型的列,且设置了max_execution_time可能错过某些没有索引的大表的检查。为了更全面地监控,可以考虑以下几点改进: 1. 扩展SQL查询以包含其他可能...

    MySQL的数据类型和建库策略详解

    整数类包括TINYINT、SMALLINT、MEDIUMINT、INT和BIGINT,它们的存储空间分别为1、2、3、4和8字节,适用于存储整数值。在选择整数类型时,应根据实际需求确定足够的范围,同时尽可能减少存储空间的占用。例如,如果只...

    2021 最新MySQL互联网大厂面试宝典(附500题)-185页.pdf

    7. MySQL数据类型:包括整数类型(如TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT),实数类型(如FLOAT、DOUBLE、DECIMAL),以及字符串类型(如VARCHAR、CHAR、TEXT、BLOB)。这些类型各有特点和用途,例如整数类型...

    使用prometheus统计MySQL自增主键的剩余可用百分比

    在本文中,我们将探讨如何利用Prometheus来统计MySQL数据库中自增主键的剩余可用百分比,这对于数据库健康管理和容量规划至关重要。 首先,我们需要安装和配置`mysqld_exporter`,这是一个用于收集MySQL性能指标的...

    MySQL数据库习题和实践答案.rar

    MySQL支持多种数据类型,如整数(INT、BIGINT)、浮点数(FLOAT、DOUBLE)、字符串(VARCHAR、TEXT)、日期和时间(DATE、TIME、DATETIME、TIMESTAMP)等。 4. **查询语句(SELECT)**: SELECT语句是SQL中最常用...

    mysql基础学习必学命令

    1. 整形:tinyint、smallint、mediumint、int、bigint 2. 浮点型:float、double、decimal 3. 字符串类型:char、varchar 4. 日期类型:datetime、timestamp、date 八、mysql 约束 mysql 中有六大约束: 1. 非空...

    MySql数据库的列类型(字段类型)[参考].pdf

    整型包括TINYINT、SMALLINT、MEDIUMINT、INT和BIGINT,它们的区别在于取值范围和存储空间。例如,TINYINT占用1字节,适合存储非常小的整数,而BIGINT占用8字节,能存储大整数。若加上UNSIGNED属性,这些整型数据列将...

    MySQL的自增ID(主键) 用完了的解决方法

    - 默认情况下,MySQL的自增ID通常是`INT(11)`类型,对于无符号整数(`INT UNSIGNED`),最大值为4294967295。如果预期插入的数据量很大,可能会超过这个限制。 - 为了应对更大的数据量,可以使用`BIGINT UNSIGNED`...

Global site tag (gtag.js) - Google Analytics