MYSQL使用手记一

postgresql和mysql的一转多多转一 日常工作中常有出现如下图的情形,需要将一个数据转成多行或者多列,或者由多行或者多列转成一个数据,本文分别用postgresql和mysql处理这个问题。 阅读详情

好记忆不如烂笔头,能记下点东西,就记下点,有时间拿出来看看,也会发觉不一样的感受。

0、不要受经典三范式的约束,在设计表结构时候,不必遵守三范式,三范式是一种很理性的状态,只存在于理论中,业务中很难真正满足。

1.MYSQL中的整型类型有:TINYINT、SMALLINT、MEDIUMINT、INT 和 BIGINT。
    TINYINT占1个字节;SMALLINT占2个字节;MEDIUMINT占3个字节;INT占4个字节;TBIGINT占8个字节;
    
2、用自增整型做主键,一律使用 BIGINT,而不是 INT。
    INT 在signed 修饰时候,最大值是21亿多, 在unsigned修饰时候,最大值是42亿多,很容易达到上限,达到上限之后,再次自增插入,MySQL 数据库会报重复错误,后期表结构调整代价巨大;
3、MySQL 8.0 版本前,使用 auto_increment 自增值并不持久化,可能会有回溯现象;

4、在海量互联网业务的设计标准中,并不推荐用 DECIMAL 类型,而是更推荐将 DECIMAL 转化为 整型bigint类型用元角分的分来存储。·
类型 DECIMAL 是通过二进制实现的一种编码方式,计算效率远不如整型来的高效。

5、不推荐使用整型类型的属性 Unsigned,若非要使用,参数 sql_mode 务必额外添加上选项 NO_UNSIGNED_SUBTRACTION;

6、不要再使用浮点类型 Float、Double,MySQL 后续版本将不再支持上述两种类型;

7、MySQL 数据库的字符串类型有 CHAR、VARCHAR、BINARY、BLOB、TEXT、LONGTEXT、ENUM、SET。

8、CHAR(N) 用来保存固定长度的字符,N 的范围是 0 ~ 255,请牢记,N 表示的是字符,而不是字节。VARCHAR(N) 用来保存变长字符,N 的范围为 0 ~ 65536, N 表示字符。

9、字符串的字符集一定要设置成 UTF8MB4,并且是作为MySQL的默认字符类型。

10、使用 TIMESTAMP 必须显式地设置时区,不要使用默认系统时区,否则存在性能问题,推荐在配置文件中设置参数 time_zone = '+08:00';
推荐日期类型使用 DATETIME,而不是 TIMESTAMP 和 INT 类型;。

11、核心业务尽量不要使用bigint这样的整型来做为主键,主要原因有:
    自增存在回溯问题;
    自增值在服务器端产生,存在并发性能问题;
    自增值做主键,只能在当前实例中保证唯一,不能保证全局唯一;
    公开数据值,容易引发安全问题,例如知道地址http://www.example.com/User/10/,很容猜出 User 有 11、12 依次类推的值,容易引发数据泄露;
    MGR(MySQL Group Replication) 可能引起的性能问题;
    分布式架构设计问题。

12、核心业务主键,还是要有具体的含义,以此来满足易读易理解有意义的业务含义。

更多精彩,请移步:码出精彩(codingba)

Docker快速搭建Mysql8一主两从复制架构 文档:https://dev.mysql.com/doc/refman/8.0/en/replication-howto-slaveinit.html。includedir /etc/mysql/conf.d/: 这告诉MySQL服务器从/etc/mysql/conf.d/目录中包含其他配置文。source_log_file:指定从数据库要复制数据的日志文件,通过查看主数据的状态,获取File参数;pid-file: 这是MySQL服务器的进程ID文件的位置。这有助于区分不同的服务器,特。 阅读详情

相关推荐

MySQL8.0 主从部署(一主两从)

MySQL8.0 主从部署(一主两从)

Charles_Yin的博客 3050

mysql这几个坑你踩过几个?

一、前言 对于从事互联网开发的同学来说,mysql可谓是再熟悉不过的了。无论是DBA、开发或测试,基本上天天要跟它打交道,很多同学可能已经身经百战了。但是,笔者遇到过的这些坑不知道你们都经历过没? 二、有符号和无符号 以前我们公司在项目开发之初制定开发规范时,对mysql的int类型字段定义成有符号,还是无符号问题专门讨论过。 观点一: 对于能够确定里面存的值一定是正数的字段,定义成UNSIGNED无符号的,可以节省一半的存储空间。创建无符号字段的语句如下: create table test

分享Java技术知识,共同成长进步! 1113

mysql主从复制、一主一从、 一主多从、环形多主

MySQL主从复制(原理+实操 )一主一从、 一主多从、环形多主

2301_79228611的博客 1807

Mysql的整形类型 signed 和 unsigned 属性采坑

出自: <姜承尧的MySQL实战宝典 >,本人在原文又做了一些更改 MySQL 数据库支持 SQL 标准支持的整型类型:INT、SMALLINT。此外,MySQL 数据库也支持诸如 TINYINT、MEDIUMINT 和 BIGINT 整型类型(表 1 显示了各种整型所占用的存储空间及取值范围): 各 INT 类型的取值范围 在整型类型中,有 signed 和 unsigned 属性,其表示的是整型的取值范围,默认为 signed。 如果不知道signed 和 unsigned是什么意思就看下

张俊杰 的博客 3207

时间序列学习(4):平稳性检验(单位根检验、ADF检验)

时间序列学习(4):平稳性检验(单位根检验、ADF检验)1、单位根检验2、ADF检验3、指数走势的检验4、对数收益率序列检验 相关图可以大致判断序列是否平稳。但是,这毕竟不是严格的。 这篇笔记来就谈一谈平稳性的检验。 到目前为止,我们有了以下的时间序列模型: 白噪声; 随机游走; AR模型; MA模型; ARMA模型。 我们知道白噪声、MA模型一定是平稳的(这里的平稳都是弱平稳);随机游走一定是不平稳的;ARMA模型取决于其AR部分。 所以唯一需要做平稳性检验的就是AR模型。 1、单位根检验 先来看一阶

lucialucia的博客 7万+

Win系统蓝牙设备频繁卡顿/断连 - 解决方案

无线网卡有2个模块,一个是WiFi,一个是蓝牙,因此蓝牙问题可能和无线网卡有关。在某些情况下,例如高温或WiFi速率过高,会导致蓝牙频繁卡顿/断连。解决方法分为2种,1是更新驱动,2是更换无线网卡。

NSJim的博客 2万+

MySQL常用数据类型

MySQL常用数据类型 整数: int,有符号位(-2147483648,2147483647),无符号位(0,4294967295),如:int unsigned,代表设置一个无符号的整数; 小整数: tinyint,有符号(-128,127),无符号(0,225),如:tinyint unsigned,代表设置一个无符号的小整数; 小数: decimal,如decimal(5,2),代表共存5位数,小数占2位,不能超过2位;整数占3位,不能超过3位; 字符串: varchar,如varchar(3)表示

夏虫 326

保姆级教程:用NX机电概念设计与RobotStudio实现ModbusTCP联合仿真(附完整代码)

本文提供了一份详细的NX机电概念设计与RobotStudio联合仿真实战教程。通过ModbusTCP协议构建数据桥梁,实现机械行为与机器人控制逻辑的双向实时同步。文章从环境搭建、信号配置、RAPID代码编写到联合调试,逐步拆解了实现数字孪生核心链路的关键步骤,并分享了常见问题排查方法,助力工程师在虚拟环境中提前验证产线协同。

sat99的博客 1100

mysql unsigned int 避坑

在写个小功能时,需要更新某个字段未   -1 前台到后台 ,直到 入库之前bean的属性都是 -1 ,排除反射不能获取参数的问题 那就是数据库了 字段别人加的,看到 、 于是google 是这样解释的   (必须得大 ,必须得闪) INT UNSIGNED的范围类型就是 0 ~ 4 294 967 295 还好及时发现

MissWwg的博客 1万+

LVGL 源码分析大全

LVGL 是一款流行的免费和开源嵌入式图形库,为纯C的轻量级GUI框架,支持framebuffer直接渲染图层,因此LVGL能更容易为 MCU、MPU等显示设备开发漂亮的UI。可视化的 UI 编辑器官方上有推荐使用工具。当然,也可以选择 NXP(恩智浦半导体) 提供的工具。........................

Bigan(安)的博客 1万+

【RT-DETR有效改进】利用MobileNetV3替换Backbone(轻量化网络结构,提点)

本文给大家带来的改进机制是,其主要改进思想集中在结合硬件感知的网络架构搜索(NAS)和NetAdapt算法,以优化移动设备CPU上的性能。它采用了新颖的架构设计,包括反转残差结构和线性瓶颈层,以及新的高效分割解码器Lite Reduced Atrous Spatial Pyramid Pooling(LR-ASPP),以提升在移动分类、检测和分割任务上的表现。实验表明,MobileNets在资源和准确性的权衡方面表现出色,并在多种应用(如对象检测、细粒度分类、面部属性识别和大规模地理定位)中展现了其有效性。

Snu77的博客 2749

mysql分库分表的缺点_MySQL分库分表会带来哪些问题?

分库分表能有效的环节单机和单库带来的性能瓶颈和压力,突破网络IO、硬件资源、连接数的瓶颈,同时也带来了一些问题。下面将描述这些技术挑战以及对应的解决思路。1、事务一致性问题分布式事务当更新内容同时分布在不同库中,不可避免会带来跨库事务问题。跨分片事务也是分布式事务,没有简单的方案,一般可使用"XA协议"和"两阶段提交"处理。分布式事务能最大限度保证了数据库操作的原子性。但在提交事务时需要协调多个节...

weixin_29103191的博客 2220

Python爬虫终极指南:异步爬虫+Playwright逆向,高效爬取携程旅游数据

Playwright解决动态渲染和加密参数难题,模拟真实浏览器环境;aiohttp异步提升抓取效率,结合代理池和并发控制规避风控;指纹伪装、行为模拟等技巧大幅降低被检测概率。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 2951

我的MySQL使用手记

我的MySQL使用手记 近期在windows下使用MySQL,简单的记录下开发中遇到的一些问题 1. char,varchar和text的区别

朝歌 1228

【2026年华为暑期实习-非AI方向(通软&嵌软&测试&算法&数据科学)- 7月15日-第二题- 手机多载波冲突选择】(题目+思路+Java&C++&Python解析+在线测试)

摘要 本文提出了一种解决手机基站载波选择问题的回溯算法。给定N个载波,每个载波具有带宽和所属频段,要求选择最多K个载波,满足:1) 不选择同一频段的多个载波;2) 不选择冲突频段的载波;3) 总带宽最大化。算法通过预处理冲突关系,使用位掩码优化冲突检查,按编号顺序回溯枚举所有可能组合。当找到更大带宽或相同带宽但字典序更小的组合时更新答案。该方法在N≤25和K≤8的约束下高效可行,并通过样例验证了正确性。输出为最大总带宽和对应的最优载波编号序列。

m0_73659489的博客 71

DeepLens是一个用于计算镜头设计的可微光线追踪器

若安装过程中遇到网络问题导致安装失败,可尝试更换pip源,例如使用国内的镜像源,修改pip配置文件(Windows系统在。

max500600的博客 1142

Navicat for MySQL使用手记

第一部分、创建数据库和表 在管理MySQL数据库的图形化工具中,最为熟知的就是phpMyAdmin和Mysql-Front了,今天跟大家分享另外一个管理mysql数据库的另外一个利器---Navicat MySQL。 Navicat MySQL可以与任何3.21或以上版本的MySQL一起工作,并支持大部分的MySQL最新功能,包括触发器、存储过程、函数、事件、视图、管理用户,

wds56278的专栏 1173

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

MySQL系列文章:使用dbops搭建MySQL8.4.3 一主一备

使用dbops搭建MySQL8.4.3 一主一备以 MySQL8.4.3 一主一备为例以上就是使用dbops搭建MySQL8.4.3 一主一备的整个安装过程,有问题的小伙伴评论区留言哈!

扑火的小飞蛾 1579

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

mysql一主2从部署

1.编辑配置文件修改 MySQL 配置文件(/etc/my.cnf 或 /etc/mysql/my.cnf)以启用二进制日志和设置服务器 ID。4.获取主服务器状态记录主服务器的二进制日志文件名和位置,以便从服务器配置时使用。3.配置从服务器登录 MySQL 并设置主服务器信息和复制用户。3.创建复制用户登录 MySQL 并创建用于复制的用户。rpm -e --nodeps [要卸载的mysql]MASTER_LOG_FILE=‘记录的日志文件名’,4.启动复制启动从服务器的复制进程。

weixin_51473488的博客 1315

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Linux - MySQL迁移至一主一从

Linux - MySQL迁移至一主一从

weekeight 1180

iptables之日志利器-ULOGD使用手记

原贴地址:http://blog.chinaunix.net/u/31547/showart_366096.html  

最实用的Linux博客 4749

MySQL 一主多从

一主多从

学习,分享一直在路上 1046

MySQL8.4一主一从环境搭建

MySQL8.4主从搭建

zxrhhm的博客 4679

【MySQL集群一】CentOS 7上搭建MySQL集群:一主一从、多主多从

MySQL集群允许您创建高可用性的数据库环境,提供故障容忍性和负载均衡。在本博客中,我们将演示如何在两台CentOS 7服务器上搭建MySQL集群,包括一主一从和多主多从的配置。

Java老兵的后端进阶与AI前沿探索之路。 1864

MySQL学习三:MySQL一主多从架构

文章目录一、MySQL一主多从架构1.1 MySQL一主多从开启二进制日志配置主从MySQL配置文件my.cnf二、MySQL一主多从环境重启1、在主服务器上创建复制数据的账号并授权:2、建议重置一下主服务状态,执行命令:3、在主服务器上执行命令,获取主服务器二进制binlog文件名及坐标(二进制文件名和坐标值在后面会用到):4、重置一下从的状态:(在重置之前可以查看一下从的状态: show slave status)5、进入从服务器mysql命令界面运行6、在从机器上执行开始复制命令:start slav

huiguo_的博客 865
上一篇: docx4j linux上文件内容乱码问题
下一篇: Nginx应用场景
supingemail
博客等级 码龄18年 1235粉丝 320原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值