首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

面试官问:千年海龟在MYSQL里面什么数据类型最合适?为什么

这是笔者之前遇到的一个面试题:面试官问海龟的年龄(1000+)在MySQL中用什么数据类型最为合适?为什么呢? 我们接下来一起来好好分析一下。...什么类型转成十进制范围能达到千而且存储空间(占用字节)又比其他类型小呢? 所以面试官想通过这道题考察你请不清楚MySQL 各个数据类型占用字节大小+转化到对应十进制表示的数字范围。...比如很多小伙伴习惯将一些表的状态字段存储成tinyint类型。数据库主键存储成bigint类型等。 平时使用的时候,其实也是非常随意,不会过多去纠结具体改选哪个类型。...更加不会去关心选择的具体类型占用字节数了。但如果你能把握一些细节内容比如各个数字类型占用字节数等,往往能设计出比较合理的存储数据类型。...有什么区别) smallint占两个字节 取值范围是-32768——32767 ,比接下来的其他类型无论从占用字节数抑或十进制范围都是最优解。

42820
您找到你想要的搜索结果了吗?
是的
没有找到

里面试官:什么MySQL索引,为什么要有索引?

然而我们在使用mysql数据库的时候也像字典一样有索引的情况下去查询,肯定速度要快很多 2.1问题: 1.mysql数据存储在什么地方? 磁盘 2.查询数据慢,一般卡在哪?...磁盘预读 局部原理:数据和程序都有聚集成群的倾向,同时之前被访问过的数据很可能再次被查询,空间局部,时间局部 磁盘预读:内存和磁盘发生数据交互的时候,一般情况下有一个最小的逻辑单元,页。...磁盘,查询数据的时候会优先将索引加载到内存中 5.索引在存储的时候,需要什么信息?需要存储存储什么字段值?...key-values 哈希表,树(二叉树、红黑树、AVL树、B树、B+树) 7.mysql索引系统中不是按照刚刚说的格式存储的,为什么?...OLAP:联机分析处理----对海量历史数据进行分析,产生决策的策略----数据仓库—Hive OLTP:联机事务处理----要求很短时效内返回对应的结果----数据库—关系型数据库(mysql、oracle

87251

mysql中的enum是什么类型_数据库枚举类型什么

什么使用枚举 限定值的取值范围,比如性别(男,女,未知)等。...枚举类型使用陷阱 超级不推荐在mysql中设置某一字段类型为enum,但是存的值为数字,比如‘0’,‘1’,‘2’; 解释1:你会混淆,因为enum可以通过角标取值,但它的角标是从1开始,对于不熟悉这个字段的人这里会出错...“空”(不是null) 解释3:enum类型对于php等弱语言类型的支持很差,弱语言类型打引号和不打引号的值可能是同一类型,但是对于mysql中enum类型的字段来说,那就不一定是一回事了 结论:总之,...不要拿mysql的enum类型取存一些数字;如果你一定要使用这个字段去存数字,请把这个字段定义为int,然后在java代码中使用枚举类做一个对于这个字段值范围的一个限定!...; * Mysql中枚举类型Color定义取值的顺序是RED、GREEN、BLUE,因此,当这三个取值持久化到数据库表时,取值分别是0、1、2; * 意思就是我们这里存往数据库的数据是

4.2K20

【说站】varchar与char在MySQL里面什么区别?

varchar与char是两种不同的数据类型,在MySQL中是有区别的,具体有以下区别: 区别一,存储数据长度不同 char表示定长,长度固定,char如果插入的长度小于定义长度时,则用空格填充,最大支持...因为char类型在创建数据表的时候就将其分配的空间和字符长度设置好,如果后面存储的实际数据没有达到先前设置的长度,Mysql数据库会自动在后面用空格填充补齐。...在读取数据的时候,MySQL会将字符后面多余的空格字符自动移除,(如果开始了PAD_CHAR_TO_FULL_LENGTHSQLMODE不会移除空格)。 varchar数据长度可变。...varchar类型的数据列是可变长度的字符列,varchar可以设置的最大长度是varchar(65535),但是因为MySQL单行记录数据的localpage最大限制为65535字节(不含offpage...3、char类型在数据写入时如果数据长度没有写满,会使用空格填充,读取的时候会自动过滤空格,varchar类型不会自动填充空格和过滤空格。

1.1K30

mysql 幂等(什么是幂等)

一、什么是幂等? 幂等:多次调用方法或者接口不会改变业务状态,可以保证重复调用的结果和单次调用的结果一致。...这就是接口没有幂等带来的 bug。 2、接口超时重试 对于给第三方调用的接口,有可能会因为网络原因而调用失败,这时,一般在设计的时候会对接口调用加上失败重试的机制。...当消息被其他消费者重新消费时,如果没有幂等,就会导致消息重复消费时结果异常,如数据库重复数据,数据库数据冲突,资源重复等。...三、解决方案 通过token 机制实现接口的幂等,这是一种比较通用的实现方法。...全局唯一 ID 可以用百度的 uid-generator、美团的 Leaf 去生成 2、基于 mysql 实现 这种实现方式是利用 mysql 唯一索引的特性。

1.9K10

mysql数据库double类型_timestamp是什么数据类型

1、整型 MySQL数据类型 含义(有符号) tinyint(m) 1个字节 范围(-128~127) smallint(m) 2个字节 范围(-32768~32767) mediumint(m)...int(m)里的m是表示SELECT查询结果集中的显示宽度,并不影响实际的取值范围,没有影响到显示的宽度,不知道这个m有什么用。...2、浮点型(float和double) MySQL数据类型 含义 float(m,d) 单精度浮点型 8位精度(4字节) m总个数,d小数位 double(m,d) 双精度浮点型 16...decimal(m,d) 参数m<65 是总个数,d<30且 d 4、字符串(char,varchar,_text) MySQL数据类型 含义 char(n) 固定长度,最多255个字符 varchar...6.日期时间类型 MySQL数据类型 含义 date 日期 ‘2008-12-2’ time 时间 ’12:25:36′ datetime 日期时间 ‘2008-12-2 22:06:44’ timestamp

2.5K20

mysql什么类型数据库_MySQL是一种

那么什么是数据库? 根据定义,数据库只是一个结构化的数据集合。 数据本质上相互关联,例如,产品属于产品类别并与多个标签相关联。这就是为什么要使用关系数据库。...MySQL什么? My是MySQL的联合创始人 – Monty Widenius 的女儿的名字。MySQL是My和SQL的组合,这就是MySQL命名的由来。...MySQL的官方网址: http://www.mysql.com/ ,MySQL的社区版本下载地址为: http://dev.mysql.com/downloads/mysql/ ,在写本文时,当前的MySQL...此外,MySQL是可靠,可扩展和快速的。 如果您开发网站或Web应用程序,MySQL是一个不错的选择(强烈建议使用)。...MySQL是LAMP堆栈的重要组成部分,包括Linux,Apache,MySQL和PHP。

2.7K10

什么MySQL锁?有哪些锁类型?如何使用?

mysql中,写锁是优先于读锁的!...max_write_lock_count和low-priority-updates 行锁 InnoDB和MyISAM有两个本质的区别:InnoDB支持行锁、InnoDB支持事务 InnoDB实现了以下两种类型的行锁...只不过隐藏了加锁细节,事务的隔离级别有4种: Read uncommitted:会出现脏读,不可重复读,幻读 Read committed:会出现不可重复读,幻读 Repeatable read:会出现幻读(Mysql...101(这些记录并不存在)的“间隙”加锁 InnoDB使用间隙锁的目的有2个: 为了防止幻读(上面也说了,Repeatable read隔离级别下再通过GAP锁即可避免了幻读) 满足恢复和复制的需要:MySQL...的恢复机制要求在一个事务未提交前,其他并发事务不能插入满足其锁定条件的任何记录,也就是不允许出现幻读 死锁 并发的问题就少不了死锁,在MySQL中同样会存在死锁的问题 锁总结 表锁其实我们程序员是很少关心它的

1.4K20

什么MySQL的高可用?可靠、恢复、冗余、容错和可伸缩

二、可靠 MySQL高可用中的可靠是指系统在各种异常情况下依然能够保持稳定可靠的运行状态。实现MySQL高可用的可靠关键在于确保数据的一致、可恢复性和持久。...综上所述,实现MySQL高可用中的可靠是保障系统稳定可靠运行的关键,对于提升系统的整体性能和用户体验具有重要意义。...因此,主从复制是实现MySQL可靠中从故障中恢复的一种简单有效方法。 四、冗余方案 冗余方案是实现MySQL高可用的重要方案之一,在系统设计中引入冗余机制可以提高系统的可靠和容错能力。...通过有效的容错设计和实施,可以提高MySQL系统的稳定性和可靠,降低系统发生故障的风险,保障系统的持续服务。...因此,可伸缩MySQL可靠中具有重要意义的因素之一,在设计和运维MySQL系统时必须考虑和重视,以提高系统的稳定性、可靠和性能。

37510

什么说python里面函数参数的默认值最好不要使用可变类型

之前发布过Python中函数的介绍:Python中函数的介绍 ,今天来做一个小小的补充说明:为什么说python里面函数参数的默认值最好不要使用可变类型 Python中,函数参数的默认值是在函数定义时计算的...当默认值是可变类型(如列表、字典等)时,这个默认值在函数定义时就会被创建并分配给参数。当函数被调用时,如果没有显式地传递该参数,函数将使用该默认值。...可变类型的默认值在函数定义时只会被创建一次,然后会在后续函数调用中重复使用。这意味着,如果在函数中修改了这个默认值,它将在后续的函数调用中保持修改后的值,而不是返回最初的默认值。...print(id(b)) b.append(a) print(b) add(1) add(2) add(3) 从上面的运行结果,我们可以看出: 如果在函数的定义中,参数默认值使用可变类型...,那么可变类型会在函数定义的时候就进行创建,如果使用不当的话,可能得到的效果与我们的预期不一致。

15230

mysql数据库0.00是空么_mysql什么类型数据库

数据库分类 关系型——SQL MySQL,Oracle,Sql Server,DB2,SQLlite 特点:通过表和表之间,行和列之间的关系进行数据存储 非关系型——NoSql(not only...sql) Redis,MongDB 非关系型数据库,对象存储,通过对象的自身的属性来决定 DBMS-数据库管理系统 数据库的管理软件——用于管理数据,维护,获取 MySql本质是一个数据库管理系统...,是最好的关系型数据库管理系统(RDBMS)应用软件之一 MySQL 关系型数据库管理系统,开源,把数据保存在不同的表中而不是将所有数据放在一个大仓库内,使用SQL语言 适用于中小型网站,或大型网站——...,内容如下 [mysqld] basedir=D:\cs_AI\mysql-8.0.27\ datadir=D:\cs_AI\mysql-8.0.27\data\ port=33061 skip-grant-tables...user=mysql 启动mysql——net start mysql 通过命令行进入mysql——mysql -u root -p (-u后面加用户名可以有空格,-p后面加密码,不能有空格

3.5K40

带货直播源码开发采用MySQL什么优越

MySQL是世界上最流行的开源关系数据库,带货直播源码使用MySQL,可实现分钟级别的数据库部署和弹性扩展,不仅经济实惠,而且稳定可靠,易于运维。...二、专项内核优化 云数据库MySQL提供业界领先的 IO 吞吐能力,深度定制开发MySQL内核,性能远超基于开源 MySQL 的自建数据库。...同时优化了主备切换引起的幻读现象以及主机宕机恢复时导致的临界事务,大幅提高了带货直播源码开发的数据一致。...六、数据迁移 借助数据传输服务DTS,云服务器上的自建 MySQL 数据库到云数据库 MySQL 数据库实例、具有外网 IP 的 IDC 机房内/其他友商云 MySQL 数据库到云数据库 MySQL 数据库实例等多种场景可轻松进行数据库自动迁移...带货直播源码 以上就是关于带货直播源码开发采用MySQL什么优越的讨论,除了以上优点,云存储还具有全流程运维服务、数据容灾等等优点,为带货直播源码开发提供了强有力的数据存储保证。

47320

MySQL中数值类型中smallint、mediumint等区别是什么

MySQL 支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型 数值类型中又可以分为整型、浮点型,或者可以说为严格数值数据类型以及近似数值数据类型 分别为 tinyint(m)、smallint...8 个字节,用于极大整数,带符号的范围是-9223372036854775808 到 9223372036854775807,无符号的范围是 0 到 18446744073709551615 m 是什么意思...比如经常用到的 int(11),这里是 11 是什么意思,只能存 11 位数吗?...当然不是 这个长度 11 并不代表允许存储的宽度,而是为了告诉 MySQL 数据库,我们这个字段的存储的数据的宽度为 M 位数, 当然如果你不是 M 位数(只要在该类型的存储范围之内)MySQL 也能正常存储...任何个人或团体,未经允许禁止转载本文:《MySQL中数值类型中smallint、mediumint等区别是什么》,谢谢合作!

2.4K20

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券