精华内容
下载资源
问答
  • 2021-01-19 00:47:34

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云数据库专家保驾护航,为用户的数据库应用系统进行性能和风险评估,参与配合进行数据压测演练,提供数据库优化方面专业建议,在业务高峰期与用户共同保障数据库系统平稳运行。","link1":"https://www.aliyun.com/service/optimization/database","link":"https://www.aliyun.com/service/chiefexpert/database","icon":"https://img.alicdn.com/tfs/TB1a5ZfonnI8KJjy0FfXXcdoVXa-100-100.png","btn2":"数据库紧急救援服务","tip":"还有更多专家帮助您解决云上业务问题:立即查看","btn1":"云上数据库优化服务","link2":"https://www.aliyun.com/service/databaserescue","title":"数据库专家服务"}],"search":[{"txt":"安全首席专家","link":"https://www.aliyun.com/service/chiefexpert/security"},{"txt":"中间件首席专家","link&#

    更多相关内容
  • mysql优化点之一 我们可以用枚举类型; create table enum_test(e enum('男','女') not null) ; select * from enum_test where e=2; 优点: 节省空间,提高查询效率 -END- 如果你喜欢我的分享,欢迎关注微信...

    mysql优化点之一
    我们可以用枚举类型;

    create table enum_test(e enum('男','女') not null) ;
    select * from enum_test where e=2;
    

    优点:
    节省空间,提高查询效率


    -END-

    如果你喜欢我的分享,欢迎关注微信公众号 java学长分享技术干货!

    悄悄告诉你免费赠送重磅互联网架构师教程,提升职场技术水平!

    展开全文
  • MySQL建表时如何选中合适的数据类型

    千次阅读 2021-01-19 00:52:07
    char与varchar????char:固定長度的字符类型。varchar属于可变的字符类型。...MySQL5.5后我们默认存储引擎为InnoDB,它对长度是否固定没有区分。主要性能取决于数据行的存储量,我们的可变长度的...

    char与varchar

    🍓char:固定長度的字符类型。varchar属于可变的字符类型。(那我们究竟选哪个,记住选择varchar没毛病!!!)

    🍓为什么选择varchar,总结为三点

    char处理速度快,但检索时char列时,会删除尾部的的空格,部分数据丢失的风险我们不想承担。

    MySQL5.5后我们默认存储引擎为InnoDB,它对长度是否固定没有区分。主要性能取决于数据行的存储量,我们的可变长度的存储空间肯定是最小的。

    varchar随着MySQL版本的不断升性能不断提升,除非程序对查询速度要求很高,或字段长度变化不大可以考虑char.

    char与varchar的区别如下

    fb6f649e94d9997586db429fe4dc13c2.png

    在MySQL中,不同的存储引擎对CHAR和VARCHAR的使用原则有所不同,这里简单概括如下。

    MyISAM存储引擎:建议使用固定长度的数据列代替可变长度的数据列。

    MEMORY 存储引擎:目前都使用固定长度的数据行存储,因此无论使用 CHAR 或VARCHAR列都没有关系。两者都是作为CHAR类型处理。

    InnoDB存储引擎:建议使用VARCHAR类型。对于InnoDB数据表,内部的行存储格式没有区分固定长度和可变长度列(所有数据行都使用指向数据列值的头指针),因此在本质上,使用固定长度的CHAR列不一定比使用可变长度VARCHAR列性能要好。因而,主要的性能因素是数据行使用的存储总量。由于CHAR平均占用的空间多于VARCHAR,因此使用VARCHAR来最小化需要处理的数据行的存储总量和磁盘I/O是比较好的。

    text与blob

    🍓保存少量字符串时,我们会选择char或者varchar.在保存较大文本时,通常选择使用text或者blob。

    🍓text与blob的区别

    blob可以保存二进制数据,比如照片,text只能保存字符数据,如一篇文章或者日志。

    🍓text和blob执行大量删除操作后,在数据表中留下大量“空洞”。为提高性能我们可定期使用optimize table功能对这类表进行碎片整理。

    演示如下

    cb16d2e8e884d921fa404bd5c64326a1.png

    我们查看表的物理大小

    70593b31bf529ef1769328f8d57567a2.png

    这里数据文件显示为351.89MB。从表t1中删除id为“1”的数据

    再查看表的大小

    ffac34dd86ef37024300febc41b81395.png

    803600357b55305c20ea927a4b1dab07.png

    可以发现,表t1的数据文件仍然为351.89MB,并没有因为数据删除而减少。接下来对表进行OPTIMIZE(优化)操作:

    6ff477dda4cb5aa883b785490aef5cbb.png

    这里mysql给的提示是Note>> Table does not support optimize, doing recreate + analyze instead

    Status>> OK

    也就是说 optimize table 对于innodb来说,无法作为a single operation.以上无效。

    MySQL5.7已经推荐对于InnoDB的table使用 alter table table_name engine=innodb;语句的方式来进行表碎片优化。

    c6d7aafe6ec8ffd5b943b4bea1faa2c9.png

    finish!

    🍓可以使用合成的(Synthetic)索引来提高大文本字段(BLOB或TEXT)的查询性能。要注意这种技术只能用于精确匹配的查询.

    dbe3baebbce21c961f8fd330ab6fc806.png

    🍓在不必要的时候避免检索大型的BLOB或TEXT值。

    例如,SELECT *查询就不是很好的想法,除非能够确定作为约束条件的WHERE子句只会找到所需要的数据行。否则,很可能毫无目的地在网络上传输大量的值。这也是 BLOB 或TEXT标识符信息存储在合成的索引列中对用户有所帮助的例子。用户可以搜索索引列,决定需要的哪些数据行,然后从符合条件的数据行中检索BLOB或TEXT值。

    🍓把BLOB或TEXT列分离到单独的表中。

    在某些环境中,如果把这些数据列移动到第二张数据表中,可以把原数据表中的数据列转换为固定长度的数据行格式,那么它就是有意义的。这会减少主表中的碎片,可以得到固定长度数据行的性能优势。它还可以使主数据表在运行 SELECT *查询的时候不会通过网络传输大量的BLOB或TEXT值。

    浮点数与定点数

    🍓浮点数(float,double)定点数(decimal,numberic)

    🍓定点数不同于浮点数,定点数实际上是以字符串形式存放的,所以定点数可以更精确的保存数据。

    fc516543a3981a83208966f35a2bcafa.png

    🍓浮点数的精度问题。

    9b255fe96cdd9b8dc2cba21c08a9b7a8.png

    在选择浮点型数据保存小数时,要注意四舍五入的问题,并尽量保留足够的小数位,避免存储的数据不准确。

    点数的比较也是一个普遍存在的问题,下面的程序片断中对两个浮点数做减法运算:

    public classTest {public static void main(String[] args) throwsException {

    System.out.print("7.22-7.0=" + (7.22f-7.0f));

    }

    }

    对上面Java程序的输出结果可能会想当然地认为是0.22,但是,实际结果却是7.22-7.0=0.21999979,因此,在编程中应尽量避免浮点数的比较,如果非要使用浮点数的比较则最好使用范围比较而不要使用“==”比较。

    下面使用定点数来实现上面的例子

    b4cc92b152b452dcdd9ef9e8f101b541.png

    注意:在今后关于浮点数和定点数的应用中,用户要考虑到以下几个原则:

    浮点数存在误差问题;

    对货币等对精度敏感的数据,应该用定点数表示或存储;

    在编程中,如果用到浮点数,要特别注意误差问题,并尽量避免做浮点数比较;

    要注意浮点数中一些特殊值的处理。

    日期类型的选择

    🍓日期类型包括:DATE \TIME\TIMESTAMP\DETATIME.

    🍓根据实际需要选择满足应用最小的存储的日期类型。

    如果应用只需要记录“年份”,那么用1个字节来存储的YEAR类型完全可以满足,而不需要用4个字节来存储的DATE类型。这样不仅仅能节约存储,更能够提高表的操作效率。

    如果要记录年月日时分秒,并且记录的年份比较久远,那么最好使用 DATETIME,而不要使用TIMESTAMP。因为TIMESTAMP表示的日期范围比DATETIME要短得多。

    如果记录的日期需要让不同时区的用户使用,那么最好使用TIMESTAMP,因为日期类型中只有它能够和实际时区相对应。

    小结

    对于字符类型,要根据存储引擎来进行相应的选择。

    对精度要求较高的应用中,建议使用定点数来存储数值,以保证结果的准确性。

    对含有 TEXT 和 BLOB 字段的表,如果经常做删除和修改记录的操作要定时执行OPTIMIZE TABLE功能对表进行碎片整理。

    日期类型要根据实际需要选择能够满足应用的最小存储的日期类型。

    展开全文
  • mysql的4种常用、重要的数据类型

    千次阅读 2021-01-19 01:11:55
    下面我们来看一下mysql的重要数据类型1、数值类型可以划分为数值类型:整型,浮点十进制类型。所谓的“十进制”是指decimal和numeric,他们是同一类型的。严格地说,它不是一个数字类型,因为他们实际上是作为字符串...

    为了实现这一目标,它需要我们在数据库系统的常用数据类型有充分的认识。

    下面我们来看一下mysql的重要数据类型

    1、数值类型可以划分为数值类型:整型,浮点十进制类型。

    所谓的“十进制”是指decimal和numeric,他们是同一类型的。严格地说,它不是一个数字类型,因为他们实际上是作为字符串存储,每一个数字值(包括小数点)占一个字节的存储空间,所以这种类型的消耗大量的存储空间,但它的优点是它的价值不会失去做浮点数计算精度,它更适合一些计算精度要求高,如价格计算。

    浮动取决于不同精度的类型可以是float或double。它们的优点是小数的精度,FLOAT可以表示非常小的值,可以是最小的值约1.17E-38(0.000 … 0117,小数点后的37零),double可以表达更小的数,最小的数可以约2.22E-308(0.000 … 0222,小数点以及后跟307个零)的小数。float和double分别为4字节和8字节的存储空间。

    对于整型,在MySQL中有很多不同类型的整数,在设计数据库表,我们可以有一个字节TINYINT或8字节BIGINT等,所以我们应该把过多考虑哪个类型来使用,以获得最小的存储空间,而不会失去任何准确性值。

    TINYINT,SMALLINT,MEDIUMINT,INT和BIGINT 1字节,2字节,3字节,4字节和8字节。对于无符号整数,这些类型能表示的最大整数是分别255,65535,16777215,4294967295 18446744073709551615。如果我们需要保存用户的年龄,TINYINT就够了;如果是自增的ID,我们应该使用MEDIUM

    展开全文
  • MySQL数据类型

    2021-01-27 22:24:10
    mysql常用数据类型 :1. 数字①. 整型 : tinyint int bigint②. 小数 :float : 在位数比较短的情况下不精准double : 在位数比较长的情况下不精准decimal : 任何为数都精准 //内部是以字符串形式去存储, 推荐使用2. ...
  • 3.mysql基本数据类型

    千次阅读 多人点赞 2022-04-15 17:50:51
    文章目录mysql基本数据类型数值类型bit类型浮点数floatdecimal字符类型charvarchar日期和时间类型enum和setenumset mysql基本数据类型 数值类型 tinyint[unsigned] 占1个字节,带符号的范围为-128~127,服务号范围为...
  • mysql 常用数据类型

    千次阅读 2021-02-02 03:56:24
    mysql 常用数据类型整型(1) tinyint一个字节 有符号(-128 ~ 127 ) 无符号(unsigned) ( 0 ~ 255 ) 小整数值(2) int四个字节 有符号(-21亿 ~ 21亿 左右 ) 无符号(unsigned) ( 0 ~ 42亿) 大整数值create table t1(id ...
  • 选择优化的数据类型MySQL支持的数据类型很是多, 选择正确的数据类型对于得到高性能相当重要。缓存更小的一般更好函数更小的数据类型一般更快, 由于它们占用更少的磁盘、 内存和CPU缓存, 而且处理时须要的CPU周期...
  • MySQL系列-详解mysql数据类型

    千次阅读 2021-01-18 21:01:35
    MySQL数据类型(1)数值类型1、整数型2、浮点型3、定点型(2)日期时间类型(3)字符串类型MySQL字段属性1、空\不为空值:NULL、NOT NULL2、主键:primary key3、唯一键:unique key4、自增长:auto_increment5、默认值:...
  • 文章原创于公众号:程序猿周先...而我们也知道,Mysql中列的数据类型很多,而大多数人可能只是知道这些不同的数据类型怎么去使用,所以本篇文章主要详细谈谈Mysql中各种不同的数据类型Mysql数据类型分类在Mysql中...
  • MySql 数据类型

    千次阅读 2021-01-19 11:29:35
    一、数字类型数字类型按照我的分类方法分为三类:整数类、小数类和数字类。我所谓的“数字类”,就是指 DECIMAL 和 NUMERIC,它们是同一种类型。它严格的说不是一种数字类型,因为他们实际上是将数字以字符串形式...
  • mysql提供了大量数据类型,为了优化存储提高数据库性能,我们应该使用最精确的类型
  • MySQL常用数据类型介绍

    千次阅读 2021-03-15 03:20:40
    一、数字类型数字类型按照我的分类方法分为三类:整数类、小数类和数字类。我所谓的“数字类”,就是指 DECIMAL 和 NUMERIC,它们是同一种类型。它严格的说不是一种数字类型,因为他们实际上是将数字以字符串形式...
  • MySQL常用数据类型

    千次阅读 2020-12-19 13:29:19
    上篇文章我们讲到MySQL的常用命令,那么这篇文章我们分享一下MySQL数据库常用的数据类型有哪些,生产环境下我们在建表的时候,我们都是需要根据数据的类型去创建我们的表字段的,那么表字段的类型在我们数据库里是一...
  • Mysql支持的数据类型(总结)

    千次阅读 2021-02-03 18:20:41
    数值类型Mysql支持所有标准SQL中的数值类型,其中包括严格数据类型(INTEGER,SMALLINT,DECIMAL,NUMBERIC),以及近似数值数据类型(FLOAT,REAL,DOUBLE PRESISION),并在此基础上进行扩展。扩展后增加了TINYINT,MEDIUMINT...
  • MySQL 数据类型

    万次阅读 2021-01-19 06:25:45
    MySQL 的数值数据类型可以大致划分为两个类别,一个是整数,另一个是浮点数或小数。许多不同的子类型对这些类别中的每一个都是可用的,每个子类型支持不同大小的数据,并且 MySQL 允许我们指定数值字段中的值是否有...
  • 01-mysql中的数据类型

    千次阅读 2021-01-19 20:59:16
    mysql中的列数据类型:数值型、字符串类型、日期/时间类型3种几种列类型描述使用了下述惯例:· M#表示最大显示宽度。最大有效显示宽度是255。· D#适用于浮点和定点类型,表示小数点后面的位数。最大可能的值是30,...
  • Mysql支持的数据类型(列类型总结)

    千次阅读 2021-01-18 18:09:41
    数值类型Mysql支持所有标准SQL中的数值类型,其中包括严格数据类型(INTEGER,SMALLINT,DECIMAL,NUMBERIC),以及近似数值数据类型(FLOAT,REAL,DOUBLE PRESISION),并在此基础上进行扩展。扩展后增加了TINYINT,MEDIUMINT...
  • 备份这一块比较复杂,具体可以看联机丛书SQL Server 支持的备份类型包括:1.完整备份,该操作将备份包括部分事务日志在内的整个数据库(这样完整备份便可恢复)。有关详细信息,请参阅完整备份。2.在完整数据库备份...
  • 1.连接数据库[root@host]# mysql -u root -pEnter password:******2.查看数据库SHOW DATABASES;3.创建数据库mysql> CREATE DATABASE 库名;mysql> USE 库名;mysql> CREATE TABLE 表名 (字段名 VARCHAR(20), ...
  • mysql数据库--常用数据类型

    千次阅读 2021-01-18 23:18:49
    主要内容:mysql常用数据类型:#1.数字:整形:tinyinitint小数:float:在位数比较短的情况下不精准double:在位数比较长的情况下不精准0.000001230123123123存成:0.000001230000decimal:(如果用小数,则用推荐使用decimal...
  • Mysql中常用数据类型一共有四种字符串数据类型、日期/时间数据类型、数值数据类型以及二进制数据类型。 一、字符串数据类型: 主要包括下列几种数据类型:char,varchar,tinytext,mediumtext,text,longtext,...
  • MySQL数据类型笔记

    2022-03-11 20:30:06
    MySQL数据类型的作业
  • MySQL 数据库应用实战教程慕课版刘刚 苑超影 编著第2章 MySQL数据类型本章要点数值类型 字符串类型 日期时间类型 复合类型 如何选取数据类型 小结 MySQL数据库是用来存储数据的它可以存储姓名性别身高年龄出生日期...
  • MySQL中的字段类型对应于Java对象中的数据类型

    千次阅读 多人点赞 2021-03-03 14:50:53
    还在纠结javaType和jdbcType?MySQL数据类型对应Java什么类型?JdbcType类型和Java对象有什么对应关系?数据库类型的Integer是对应int还是对应Integer?本文带你一探究竟!
  • Mysql数据库字段数据类型、长度详解

    千次阅读 2021-01-19 13:21:06
    一、数值类型类型需要的存储量TINYINT1 字节SMALLINT2 个字节MEDIUMINT3 个字节INT4 个字节INTEGER4 个字节BIGINT8 个字节FLOAT(X)4 如果 X < = 24 或 8 如果 25 < = X < = 53FLOAT4 个字节DOUBLE8 个...
  • mysql建表语句和数据类型

    千次阅读 2021-01-19 08:46:27
    1.创建表的完整语法create table 表名(字段名称 数据类型[(长度) 约束条件],字段名称 数据类型[(长度) 约束条件])必须的:字段名 数据类型 表名可选的:长度 约束条件长度用于设置数据的长度数据类型也是一种约束约束...
  • Mysql数据类型(一)

    千次阅读 2020-12-19 13:29:19
    介绍存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己的宽度,但宽度是可选的mysql常用数据类型概括:#1. 数字:整型:tinyint int bigint小数:float :在位数比较短的情况下不...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 51,339
精华内容 20,535
关键字:

mysql性别的数据类型

mysql 订阅