MySQL数据类型的最优选择

Jitsi中的Prosody(谐音:破扫敌)介绍 凭借其灵活的插件系统、强大的安全性和出色的性能,Prosody 成为许多企业和开发者构建定制化通信解决方案的首选。在 Jitsi 的多方视频会议场景中,Prosody 不仅处理基本的信令任务,还需要与其他组件(如 Jitsi Videobridge)协作,确保视频流的正确分发和控制。Prosody 提供了丰富的插件系统,允许开发者通过模块扩展其功能。Prosody 就是一个实现 XMPP 协议的服务器,它支持 XMPP 协议的标准功能,如消息传递、群组聊天、传送状态信息等,并提供了高效、可扩展的服务。 阅读详情
MySQL数据类型的最优选择
2013-06-03 09:50:13      我来说两句         作者:Robbin
收藏  我要投稿
MySQL数据类型的最优选择
慎重选择数据类型很重要、为啥哩?可以提高性能、原理如下:
    
     ● 存储(内存、磁盘)、从而节省I/O(检索相同数据情况下)
     ● 计算、进而减负CPU负载
    
     数据类型总体可分三种:数字、字符和时期
    
     ㈠ 数字
    
        ① 分类
        ② 为整数类型指定宽度没啥意义、硬说呢、大概也是为了显示字符的个数、人性化点
           因为、对于存储和计算而言、INT(1)和INT(100)是相同的
          
        ③ 对于浮点、建议只指定数据类型、而不要指定精度
       
        ④ 对于定点、尽量只在对小数精确计算时才使用、如存储财务数据
           但天朝某些财务软件在其 数据库内使用float作为工资类型
           赤裸裸的资本家的丑恶展现、鄙视!!!
          
        ⑤ 在数据量较大时、建议把实数类型转为整数类型
           原因很简单:
             ● 浮点不精确
             ● 定点计算代价昂贵
           例如:
           要存放财务数据精确到万分之一、则可以把所有金额乘以一百万、然后存在BIGINT下
     ㈡ 字符串
        ① 分类
         
        ② 数据如何存储取决于存储引擎
           char和varchar在不同引擎在内存和磁盘可能是不一样的
           不过、对于char、在填充和截取上是一样的、因为、
           这部分是在Server层完成的
          
        ③ 常见 char 使用场景
          
           ● 很短的字符串或所有值都接近同一个长度、如存储密码的 MD5值
           ● 经常变更的列、因为char产生的碎片少
           ● 非常短的列、如性别、char(1)的效率更好、毕竟varchar(1)浪费了1一个字节
          
        ④ 和字符集的那点猫腻
          
优快云 有个讨论非常热的帖子:有人认为unicode跟utf-8是等同的吗? 点击看讨论贴
           我赶脚、这其实没啥好讨论的、因为、这两个根本就是两回事
           Unicode 是字符编码
           utf8 是字符集
          
           对Unicode编码的字符集、墙裂建议使用varchar
           显然、utf8 也是Unicode 编码的、而且、随着国际化趋势、utf8 是首选
           那么、结果是、在char 和 varchar 竞争里、varchar 便是最大赢家
          
           可通过下列方法查看MySQL Unicode支持的字符集以及当前的字符集
[plain]
mysql> select CHARACTER_SET_NAME from character_sets  
    ->  where DESCRIPTION like '%Unicode%'\G; 
*************************** 1. row *************************** 
CHARACTER_SET_NAME: utf8 
*************************** 2. row *************************** 
CHARACTER_SET_NAME: ucs2 
*************************** 3. row *************************** 
CHARACTER_SET_NAME: utf8mb4 
*************************** 4. row *************************** 
CHARACTER_SET_NAME: utf16 
*************************** 5. row *************************** 
CHARACTER_SET_NAME: utf32 
5 rows in set (0.06 sec) 
mysql> status; 
-------------- 
mysql  Ver 14.14 Distrib 5.5.16, for Linux (i686) using  EditLine wrapper 
 
Connection id:          1 
Current database:       information_schema 
Current user:           root@localhost 
SSL:                    Not in use 
Current pager:          stdout 
Using outfile:          '' 
Using delimiter:        ; 
Server version:         5.5.16-log Source distribution 
Protocol version:       10 
Connection:             Localhost via UNIX socket 
Server characterset:    latin1 
Db     characterset:    utf8 
Client characterset:    utf8 
Conn.  characterset:    utf8 
UNIX socket:            /tmp/mysql.sock 
Uptime:                 2 min 9 sec 
    
        ⑤ 对于InnoDB 建议使用varchar
           现在很多场合都使用了InnoDB、算下来、varchar 又赢了
          
        ⑥ 存储大数据
          
           ● BLOB:采用二进制存储、没有字符集或排序规则
           ● TEXT:采用字符方式存储、有字符集和排序规则
          
           最好尽量避免使用这两、如果可以、可以把BLOB货TEXT 列分离成单独的表
          
           对于使用了BLOB或TEXT大量删除或更新时、
           建议定期使用 optimize table 碎片整理
          
     ㈢ 日期和时间类型
       
        常见的有 datatime、timestamp 和 date
        从存储上看、timestamp 占 4 个字节、其他两个 8 个字节
        所以、若无意外、最好尽量使用 timestamp 、即使它比较调皮、例如和时区相关
图数据挖掘 ECC K-core core number truss number clique K-core:什么叫k-core,给定一个正整数k(k>=0),k-core是一个G的最大子图(也就是说k-core是一个图的限制),将这个子图定义为Hk,对于Hk中的每个顶点v,他的度数都是大于等于k的。 k-core是内嵌的,如下图所示,集合{ABCD}是H3,也就是3-core的子图。而集合{ABCDE}是H2,也就是2-core的子图,集合{ABCDEGF}是H1,也就是1-core的子图,而从集合的角度来讲H3<H2<H1。 core number:什么叫kcor 阅读详情

相关推荐

从零构建AXI接口的DDR3控制器:MIG IP核实战指南

本文详细介绍了如何从零构建AXI接口的DDR3控制器,重点解析MIG IP核的配置流程和优化策略。通过实战案例和仿真验证,帮助开发者掌握FPGA中DDR3控制器的AXI接口设计,提升高速数据传输效率。适用于图像处理、网络加速等高性能应用场景。

weixin_28256233的博客 451

MySQL-数字类型自增是真的坑

在进行表结构设计时,数字类型是最为常见的类型之一,但要用好数字类型并不如想象得那么简单,比如: 怎么设计一个互联网海量并发业务的自增主键?用 INT 就够了? 怎么设计账户的余额?用 DECIMAL 类型就万无一失了吗? 以上全错! 数字类型看似简单,但在表结构架构设计中很容易出现上述“设计上思考不全面”的问题(特别是在海量并发的互联网场景下) 数字类型 整数类型 MySQL 数据库支持 SQL 标准支持的整型类型:INT、SMALLINT。此外,MySQL 数据库也支持诸如 TINYINT、M

weixin_45893571的博客 1634

多孔材料吸附性质模拟程序RASPA的离线和在线安装方法

RASPA-2.0是今年美国西北大学教授Randall Q. Snurr等人开发的针对于MC,MD,分子力学优化等用途的程序,相比于之前开发的MUSIC软件,RASPA的功能更加齐全,操作更加简便,可以在MC的吸附过程中考虑骨架的柔性,也可以想MUSIC一样先制作积分格点(music中的map)。 A、离线安装(centos为例): (1)、安装之前要检查一下是否装了automake,

youyno的博客 1万+

mysql some_【MySQL】mysql中any,in,some,all的区别

子查询就是指在一个select语句中嵌套另一个select语句。any,in,some,all分别是子查询关键词之一,any 可以与=、>、>=、结合起来使用,分别表示等于、大于、大于等于、小于、小于等于、不等于其中的任何一个数据。all可以与=、>、>=、结合是来使用,分别表示等于、大于、大于等于、小于、小于等于、不等于其中的其中的所有数据。他们进行子查询的语法如下:op...

weixin_33430573的博客 426

lighttools用透镜旋转手动创建菲尼尔透镜

学过很多软件,都没有留下痕迹,很多年之后只记得学过的软件常用的一些功能,稍微难一些的再次用起需要重新学,但如果留下点痕迹,重新再用就会很快。lighttools无意之中接触了,记一点点笔记吧。...

kingsai2012的博客 4331

QGC二次开发实战指南(一):从零构建自定义地面站界面

本文详细介绍了QGC二次开发实战指南,从零开始构建自定义地面站界面。通过QT和QML技术结合MAVLINK协议,开发者可以打造适合特定业务场景的无人机监控系统,提升操作效率与用户体验。文章包含环境搭建、界面设计、数据绑定等完整开发流程,是QGC二次开发的实用教程。

weixin_28693683的博客 496

23. INFORMATION_SCHEMA信息数据库

23.1. INFORMATION_SCHEMA表 23.1.1. INFORMATION_SCHEMA SCHEMATA表23.1.2. INFORMATION_SCHEMA TABLES表23.1.3. INFORMATION_SCHEMA COLUMNS表

蜗牛的彩色生活专栏 6858

用R语言做WGCNA分析全步骤一(附代码解读)【转载】

代码逐句分析一、文章来源二、基因共表达网络构建及模块识别1.数据导入、清洗及预处理2.检查过度缺失值和离群样本3.聚类做离群样本检测4.载入临床特征数据三、自动构建网络及识别模块1.确定合适的软阈值:网络拓扑分析2.一步构建网络和识别模块 一、文章来源 初学WGCNA,觉得博主的代码写的很不错,但其中很多代码在第一遍看的时候有很多地方不理解,后查阅了很多资料,终于看明白了,于是写了一篇笔记,记录自己的学习心得,有不准确的地方,还望各位大佬们不吝赐教~ 原文链接:WGCNA简明指南 二、基因共表达网络构建及模

qq_43138237的博客 2万+

Mysql中any,some,all的用法以及区别

文章目录一、any,some,all介绍二、使用情况1.all逻辑运算符2.any和some运算符 提示:以下是本篇文章正文内容,下面案例可供参考 一、any,some,all介绍 any,some,all是Mysql当中的逻辑运算符,作用是将子查询返回的单列值的集合与查询的单个值作比较。any,all,some前面需跟比较运算符(>, >=, <, <=, !=, =,但是这里的单个使用=号的情况只有子集的数据是单个值或者子集数据全部相同才能符合情况,如果子集是多个不同的就不满足.

weixin_44408454的博客 1万+

使用R语言获取data.frame中指定列的数据

这里以"df"为例,包含三列数据:“列1”、“列2"和"列3”。通过以上代码,我们成功获取了"列1"和"列3"的数据,并将它们分别存储在了变量"column1"和"column3"中。假设我们有一个名为"df"的data.frame,其中包含了多个列,我们想要提取其中的某一列。符号,我们可以从data.frame中提取出"列2"的数据,并将其赋值给变量"column2"。符号,我们可以轻松提取出data.frame中特定列的数据,并将其存储在变量中供进一步的分析和处理使用。假设我们要获取"列2"的数据。

DevRevolt的博客 2321

【异常】Nacos 2.x 核心报错:Server check fail (gRPC 端口连不通) 深度排查

如果 Nacos 运行在 K8s 中,需确保对应的Servicemetadata:spec:ports:port: 8848port: 9848 # 必须暴露此端口selector:app: nacos在 Nacos 2.x 时代,“端口成套出现”是基础设施配置的基本要求。遇到连接失败时,首要检查的不是业务配置,而是网络链路上主端口 + 1000的 TCP 通讯是否被放行。更多关于 AI + 教育领域的干货,可以关注我的微信公众号一时间获取哦~

奶爸的编程之路,也就一周冷个三天 324

mysql字段description_完美解决CodeSmith无法获取MySQL表及列Description说明注释的方案...

public ExtendedProperty[] GetExtendedProperties(stringconnectionString, SchemaObjectBase schemaObject){List extendedProperties = new List();if (schemaObject isColumnSchema){ColumnSchema columnSchema= ...

weixin_35789559的博客 1144

深度探索:VS2022 牵手 DeepSeek,开启开发新征程

通过将 VS2022 与 DeepSeek 接入,我们成功开启了智能开发的新征程。从前期的硬件准备、软件环境搭建,到实战环节的一步步配置与整合,再到全面的测试与验证,每一个步骤都充满挑战,但也带来了满满的收获。在实际应用中,VS2022 与 DeepSeek 的结合展现出了强大的优势,为开发者带来了更高的效率和更出色的代码质量。无论是代码自动补全、智能代码审查,还是自然语言交互编程,都让开发过程变得更加智能、便捷,极大地提升了开发体验。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 3524

MySQL 数据类型的最优选择

慎重选择数据类型很重要、为啥哩?可以提高性能、原理如下:          ● 存储(内存、磁盘)、从而节省I/O(检索相同数据情况下)     ● 计算、进而减负CPU负载          数据类型总体可分三种:数字、字符和时期          ㈠ 数字                     ① 分类                    ② 为整数类型指定宽度没啥意义、硬说呢、大概也是为

记录创业路上的一些想法 2707

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

高性能MySQL--MySQL数据类型介绍和最优数据类型选择

MySQL支持的数据类型很多,那么选择合适的数据类型对于获得高性能就至关重要。那么就先了解各种类型的优缺点! 一、类型介绍 1、整型类型   整型类型有:TINYINT,SMALLINT,MEDIUMINT,INT,BIGINT。他们分别占8,16,24,32,64位储存空间。可存储的整数范围为-2^(N-1)到2^(N-1)-1,其中N是存储空间的位数。 还可以将整数类型设为UNS...

weixin_30657541的博客 180

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

mysql 建表时,我们应该考虑的数据类型

本文是由《高性能mysql》摘录而来   如何选择最优的数据类型,请看下面几个原则 (1)更小通常更好        好处:占用更少磁盘、内存和cpu缓存,处理时需要的cpu周期更少   (2)简单就好       简单数据类型通常需要更少的cpu周期,例子:用mysql内建日期类型(date,dateTime,timestample)而不是字符串来存储日期,用整型存储ip   ...

iteye_2113的博客 319

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

MySQL优化——Schema与数据类型设计

1. 更优化的数据类型 (1)选择可以正确存储数据的最小数据类型。 因为它们占用更少的磁盘、内存和CPU缓冲,且处理时需要的CPU周期也更少。 **(2)简单的数据类型。**因为简单数据类型的操作通常需要更少的CPU周期。eg:整型比字符型更好;使用MySQL内建的类型如date、datetime、time等而不是字符串来存储日期和时间;使用整型来存储IP地址而非字符串。 (3)尽量避免NULL。通常情况下最好指定列为NOT NULL。因为若查询中包含可以为NULL的列,对于MySQL对可为NULL列使用索

weixin_43395911的博客 241

MySQL 中的数据类型介绍

&lt;转自http://blog.youkuaiyun.com/anxpp/article/details/51284106&gt; 2、数值类型(12)     2.1、整数类型(6)     一张图就能解释清楚了:          INTEGER同INT。 储存不区分大小写的字符数据 TINYTEXT 最大长度是 255 (2^8 - 1) 个字符。 TEXT 最大长度是 65...

yypiao的专栏 179

MySQL Optimization Part 5 - Optimization Tips

MySQL Optimization Part 5 - Optimization Tips目录 MySQL Optimization Part 5 - Optimization Tips 目录 常见 SQL 语句优化小技巧 如何选择mysql的存储引擎 选择合适的数据类型对于大量插入的数据(比如把一张表的数据导入另一张表中,一般都是 MySQL 管理员干的事): 对于 MyISAM 存储引擎,建

STEPHEN的专栏 406

mysql char text_mysql char varchar text

建表时IP字段设成了varchar,但是由于要对其建索引,以达到与其它表结合查询时提高效率的目的,打算将它改成char,修改后竟然没有成功。最后发现原来要改就必须把该表中的所有varchar和text的字段一次性都改为char:alter table ip_table modify ipddress char(16) default '',modify status char(10) defaul...

weixin_35997246的博客 171

MySQL学习5 - 数据类型二.md

一 字符类型 二 枚举类型和集合类型 一 字符类型 #官网:https://dev.mysql.com/doc/refman/5.7/en/char.html #注意:char和varchar括号内的参数指的都是字符的长度 char类型:定长,简单粗暴,浪费空间,存取速度快 字符长度范围:0-255(一个中文是一个字符,是utf8编码的3个字节) 存储: 存储char类型...

weixin_30802273的博客 219

高性能mysql笔记—字段篇

最近在读高性能mysql这本书,这一系列文章只为读书笔记选择最优的数据类型            1)更小的通常更好                  一般情况下,应该尽量使用可以存储数据的最小数据类型。更小的数据类型通常更快,因为它们占用更小的磁盘空间、内存和cpu缓存,并且处理时需要的cpu周期也更少。            2)简单就好                    简单数据类型的操...

无一物的博客 2300

对于Mysql,你选择什么存储引擎?

对于Mysql,你选择什么存储引擎? 发布时间: 2012-03-4 浏览次数:2911 分类: 数据库 首先还是说说存储引擎是什么?   MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功

My bobo 1100

高性能MySql-Schema与数据类型优化1

高性能MySql阅读笔记第四章--Schema与数据类型优化阅读笔记 良好的逻辑设计和物理设计是高性能的基石,应该根据系统将要执行的查询语句来设计schema,这往往需要权衡各种因素。 本章主要为接下来的索引优化与查询优化做铺垫,覆盖了MySql特有的schem设计方面的主题: 一.选择优化的数据类型   Mysql支持的数据类型非常多,选择正确的数据类型对于获得高性能至关重要。...

weixin_30437481的博客 113

Schema与数据类型优化

一、Mysql支持的数据类型 数据类型 BIT 描述 TINYINT 8 整型,有符号范围-128~127,无符号范围0~255, SMALLINT 16 整型,有符号范围-32768~32767,无符号范围0~65535, MEDIUMINT 24 整型,有符号范围-8388608~8388607,无符号范围0~16777215, INT 32 整型,有符号范围-2147483648~2147483647,无符号范围0~4294

weixin_41400063的博客 405
上一篇: 如何利用phpMyAdmin创建数据库,设置编码 php apache MySQL
下一篇: 自己写的列出盘符下的所有文件树
SOMECT
博客等级 码龄15年 11粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值