数据类型优化

news2025/2/26 18:12:11

schema与数据类型优化

数据类型优化原则

最小数据类型

尽量使用可以正确存储数据的最小数据类型,更小的数据类型通常更快,因为它们占用更少的磁盘、内存和CPU缓存。

更简单的数据类型

简单数据类型的操作通常需要更少的CPU周期

1.整型字符操作代价更低,因为字符集和校对规则是字符比较比整型比较更复杂

2.使用MySQL自建类型而不是字符串来存储日期和时间

3.用整型存储IP地址,用INET_ATON()和INET_NTOA()函数在这两种表示方法之间转换,select inet_aton(‘1.1.1.1’),select inet_ntoa(16843009)

避免default null 定义

官方说MyISAM,InnoDB,MEMORY可以为NULL字段加上索引,经测试索引生效,not null 比 null性能稍好;但是由于null对优化器影响较大,所以应该尽量避免设计成default null

字段类型对比

整型类型

类型存储占用长度
TINYINT8
SMALLINT16
MEDIUMINT24
INT32
BIGINT64

CHAR 和 VARCHAR对比

最大长度末尾去空格场景
VARCHAR没有限制false1、存储长度波动较大的数据2、字符串很少更新的场景3、适合保存多字节字符
CHAR255true1、存储长度波动不大的数据2、存储短字符串、经常更新的字符串

BLOB和TEXT类型

BLOBTEXT
存储方式二进制字符串
应用图像、音视频text类型文档、小说
是否外部存储值太大时值太大时

datetime和timestamp和date对比

datetimestampdatetime
占用空间3字节4字节8字节
精确日期毫秒

字符集选择

1.纯拉丁字符能表示的内容,没必要选择 latin1 之外的其他字符编码,因为这会节省大量的存储空间。

2.如果我们可以确定不需要存放多种语言,就没必要非得使用UTF8或者其他UNICODE字符类型,这回造成大量的存储空间浪费。

3.MySQL的数据类型可以精确到字段,所以当我们需要大型数据库中存放多字节数据的时候,可以通过对不同表不同字段使用不同的数据类型来较大程度减小数据存储量,进而降低 IO 操作次数并提高缓存命中率。

存储引擎选择

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/9880.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

全球10大智慧港口介绍

智慧港口,包括数字化和利益相关者深切关注的港口,正在改变海运和航运业的未来。商业活动不断变化,人工智慧、物联网、大数据、区块链和 5G 等智慧技术正在推动全球港口创新。 为了举例说明是什么让港口变得「聪明」,我们决定寻找…

HTML知识点总结篇(一)

src和href的区别 作用结果不同 src用于替换当前内容href用于在引用资源和当前文档之间建立链接 请求资源类型不同 在请求src资源时,会将其指向的资源下载并应用到文档中。常用于img/iframe/input/style/scripthref常用于建立当前元素和文档之间的链接。常用的有lin…

CVPR‘23投稿量再创新高? CCF会议投稿量大比拼, 谁才是卷王?

根据轻松参会CVPR2023交流群群友的反馈,CVPR2023初步统计有效投稿数为9155(不含desk reject),投稿数再创历史新高。 尼谟统计了300余个CCF推荐会议共计3900多条数据,想看看CCF推荐会议投稿量的横向和纵向比较结果&…

【三维重建】逝去的摄影测量知识开始攻击我

这两天为了一个小汇报搞得突击。 由于认真突击了n小时,所以上课听得也认真。外加这老师讲得蛮清楚的,所以整理个笔记。 图像三维重建的思路: #mermaid-svg-eHesMcLx7T5QNnbQ {font-family:"trebuchet ms",verdana,arial,sans-serif…

【渝偲】DSPE-PEG-Galactose;DSPE-PEG-半乳糖;磷脂聚乙二醇半乳糖 长循环脂质体

中文名称:磷脂-聚乙二醇-半乳糖 半乳糖-聚乙二醇-磷脂 简称:DSPE-PEG-Galactose Galactose-PEG-DSPE 外观: 根据不同的分子量为半固体或固体 分子量(PEG ):1000、2000、3400、5000,其他分子量可以定制。 …

酒业迷茫期,江小白凭什么获十亿融资?

凭借抢占年轻人白酒市场而取得市场突破的江小白,在成立十年的关口也开始了新的动作。10月28日,重庆江津区政府宣布对江小白旗下“江记酒庄”进行10亿元战略投资。 江小白在白酒市场已经拥有很强的影响力,但是近几年因为线下消费受限&#xf…

【EC200U】GPS定位

EC200U GPS定位GNSS模块quecgnss - 内置GNSSGNSS 功能初始化GNSS 工作状态获取GNSS开关GNSS定位数据获取实测案例拓展当前互联网地图的坐标系现状地球坐标 (WGS84)火星坐标 (GCJ-02)也叫国测局坐标系百度坐标 (BD-09)coordtransform 坐标转换EC系列东西很多,网上资料…

微信扫码授权登录手游(你使用的浏览器暂不支持微信登录)

这个问题是因为微信服务器会校验请求是否有特定的请求头。 解决这个问题,需要在请求时加上如下请求头: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 NetType/WIFI MicroMessenger…

SpringBoot自定义参数解析器HandlerMethodArgumentResolver(解析ip)

演示 自定义Ip注解,获取请求的ip 原理 DispatcherServlet初始化的时候会初始组件RequestMappingHandlerMapping与RequestMappingHandlerAdapter 1、RequestMappingHandlerMapping组件 RequestMappingHandlerMapping 初始化时,会收集所有 RequestMapp…

Python异常、模块与包

目录 1. 异常 1.1 了解异常 1.2 捕获异常 1.3 异常的传递 2. 模块 2.1 模块的概念与导入 2.2 自定义模块与导入 2.3 自定义Python包 2.4 第三方包 2.5 综合案例 1. 异常 1.1 了解异常 异常就是程序运行的过程中出现了错误。 bug就是指异常的意思,因为历…

记录C文件到可执行二进制文件的经历过程

正常情况下&#xff0c;C代码写完后在Linux系统下直接通过gcc命令编译成可执行文件&#xff0c;即 #include <stdio.h>int main() {printf("hello, world!\n");return 0; }编译&#xff1a; gcc hello.c -o hello运行&#xff1a; ./hello结果&#xff1a; …

Linux系统中Makefile的基本实现

大家好&#xff0c;今天主要和大家聊一聊&#xff0c;Linux系统中的Makefile的使用方法。 第一&#xff1a;Makefile基本简介 当文件有几十、上百甚至上万个的时候用终端输入 GCC 命令的方法显然是不现实的。如果我们能够编写一个文件&#xff0c;这个文件描述了编译哪些源码文…

「避坑宝典」为大家分享笔者在22 年所遇到“匪夷所思”的 Bug 趣事

“BUG”的你咋又来了&#xff1f; 无论这一年我们遇到了什么困难或者是喜事&#xff0c;在此时此刻&#xff0c;个人觉得都应该反思或者回味一下这些事情&#xff0c;对于好事&#xff0c;我们欣慰开心&#xff1b;坏事那我们能做到的就是极力避免它们再次发生&#xff0c;就如…

Python复习知识点(三)

循环结构 一&#xff0c;while循环 使用方式和之前学的一致&#xff0c;这里只说新加入的 while...else 当while语句条件为false时候执行else (else和while平级) 二&#xff0c;for循环 和之前的有差别&#xff0c;它支持序列和迭代器作为参数 简单用法&#xff1a; 新增…

【JavaWeb】EL表达式JSTL标签库

文章目录一.EL表达式⭐️1.EL表达式概念及作用2.EL表达式搜索域数据的顺序3.EL表达式输出Bean的普通属性,数组属性,List集合属性,map集合属性4.EL表达式运算5.EL表达式的11个隐含对象二.JSTL标签库⭐️1.JSTL标签库的使用步骤2.core核心库使用一.EL表达式⭐️ 1.EL表达式概念及…

服务访问质量

♥️作者&#xff1a;小刘在C站 ♥️每天分享课堂笔记&#xff0c;一起努力&#xff0c;共赴美好人生&#xff01; ♥️夕阳下&#xff0c;是最美的&#xff0c;绽放。 目录 一.Qos 一种网络拥塞的解决方法 二.QoS 服务模型 三.Qos 的四大组件&#xff1a; 四. 对流量的…

SPARKSQL3.0-Antlr4由浅入深SparkSQL语法解析

一、前言 在开始剖析SparkSQL前&#xff0c;我们要先来了解一下Antlr4&#xff0c;这是因为spark-sql字符串解析工作是由Antlr4完成的&#xff0c;故需要先来了解Antlr4&#xff0c;如下&#xff1a; 本文会着重介绍一下几点&#xff1a; 1、Antlr是什么&#xff1f; 2、如何…

C. Mortal Kombat Tower(DP)

Problem - 1418C - Codeforces 题意: 你和你的朋友正在玩《真人快打11》这个游戏。你们正试图通过一个挑战塔。这个塔里有n个老板&#xff0c;编号从1到n&#xff0c;第i个老板的类型是ai。如果第i个boss是简单的&#xff0c;那么它的类型是ai0&#xff0c;否则这个boss是困难…

HarmonyOS鸿蒙学习笔记(15)Swiper实现抖音切换视频播放效果

Swiper实战1、项目结构2、PageVideo和PlayView简单说明2.1 State变量的使用2.2 Link和Watch变量的使用2.3、Swiper的使用和PlayView的初始化2.4、页面可见状态发生改变时对视频进行暂停和播放2.5 PlayView和PageVidew源码&#xff1a;参考资料&#xff1a;1、项目结构 前面写了…

22服务-ReadDataByIdentifier

诊断协议那些事儿 诊断协议那些事儿专栏系列文章&#xff0c;本文介绍数据传输服务下的22服务ReadDataByIdentifier&#xff0c;允许客户端通过一个或多个dataldentifier向标识的服务器请求dataRecord&#xff08;数据记录值&#xff09;。 文章目录诊断协议那些事儿一、22服…