- 所有在使用“utf8”的MySQL和MariaDB用户都应该改用“utf8mb4”,永远都不要再使用“utf8”。 MySQL的“utf8”不是真正的UTF-8。“utf8”只支持每个字符最多三个字节,而真正的UTF-8是每个字符最多四个字节。 MySQL一直没有修复这个bug,他们在2010年发布了一个叫作“utf8mb4”的字符集,绕过这个问题。 几乎所有的... 所有在使用“utf8”的MySQL和MariaDB用户都应该改用“utf8mb4”,永远都不要再使用“utf8”。 MySQL的“utf8”不是真正的UTF-8。“utf8”只支持每个字符最多三个字节,而真正的UTF-8是每个字符最多四个字节。 MySQL一直没有修复这个bug,他们在2010年发布了一个叫作“utf8mb4”的字符集,绕过这个问题。 几乎所有的...
- 某日,尼古拉斯赵四 crud 完后,突发奇想: MySQL大in查询技术还能优化吗?还是只能业务优化?。 注意,in里面的数据随用户选择类型成递增。 x团:可以试试 in 分批查! 赵四:不行啊,这是个分页,无法分批吧! x节:不妨提升下问题维度,解决大 in 才是! 赵四:哈雷?业务上解决吗? x里@x节:分表并发是嘛? xx@x节:加字段就行嘛。 x60 突然插话... 某日,尼古拉斯赵四 crud 完后,突发奇想: MySQL大in查询技术还能优化吗?还是只能业务优化?。 注意,in里面的数据随用户选择类型成递增。 x团:可以试试 in 分批查! 赵四:不行啊,这是个分页,无法分批吧! x节:不妨提升下问题维度,解决大 in 才是! 赵四:哈雷?业务上解决吗? x里@x节:分表并发是嘛? xx@x节:加字段就行嘛。 x60 突然插话...
- 间隙锁再加上行锁,很容易在判断是否会出现锁等待的问题上犯错。 因为间隙锁在可重复读隔离级别下才有效,本文默认可重复读。 加锁规则 原则1 加锁的基本单位是next-key lock,前开后闭区间。原则2 查找过程中访问到的对象才会加锁。优化1 索引上的等值查询,给唯一索引加锁的时候,next-key lock退化为行锁。优化2 索引上的等值查询,向右遍历时且最后一... 间隙锁再加上行锁,很容易在判断是否会出现锁等待的问题上犯错。 因为间隙锁在可重复读隔离级别下才有效,本文默认可重复读。 加锁规则 原则1 加锁的基本单位是next-key lock,前开后闭区间。原则2 查找过程中访问到的对象才会加锁。优化1 索引上的等值查询,给唯一索引加锁的时候,next-key lock退化为行锁。优化2 索引上的等值查询,向右遍历时且最后一...
- 数据库也需要合理控制资源的访问规则,而锁就是用来实现这些访问规则的数据结构。 根据加锁的范围,MySQL里面的锁大致可以分成 全局锁表级锁行锁 今天先说全局锁和表级锁。 全局锁 对整个数据库实例加锁。MySQL提供了一个加全局读锁的命令 Flush tables with read lock (FTWRL) 1 当需要让整个库只读时,可使用该命令,之后其... 数据库也需要合理控制资源的访问规则,而锁就是用来实现这些访问规则的数据结构。 根据加锁的范围,MySQL里面的锁大致可以分成 全局锁表级锁行锁 今天先说全局锁和表级锁。 全局锁 对整个数据库实例加锁。MySQL提供了一个加全局读锁的命令 Flush tables with read lock (FTWRL) 1 当需要让整个库只读时,可使用该命令,之后其...
- 为什么需要字典表? 某些变量在多个地方使用,而且一般固定,但随系统升级和后期变化,可能需要改变,如果这些变量写死在代码里面将会变得难以维护,所以要将其从代码中抽离。 一般的业务系统客户端与用户交互的时候都会使用下拉框组件,对于某些比较固定的值的下拉组件的数据来源一般都是比较固定的文本。 实现方案 有的人使用枚举或Constants实现,这种情况下在量少的前提是没... 为什么需要字典表? 某些变量在多个地方使用,而且一般固定,但随系统升级和后期变化,可能需要改变,如果这些变量写死在代码里面将会变得难以维护,所以要将其从代码中抽离。 一般的业务系统客户端与用户交互的时候都会使用下拉框组件,对于某些比较固定的值的下拉组件的数据来源一般都是比较固定的文本。 实现方案 有的人使用枚举或Constants实现,这种情况下在量少的前提是没...
- 商品和订单服务间使用MQ 商品服务的库存变化时,通过 MQ 通知订单服务库存变化。 原始的同步流程 查询商品信息 (调用商品服务)计算总价(生成订单详情)商品服务扣库存(调用商品服务)订单入库( 生成订单) // 原始的MySQL同步流程 // 判断此代金券是否加入抢购 SeckillVouchers seckillVouchers = seckillVouch... 商品和订单服务间使用MQ 商品服务的库存变化时,通过 MQ 通知订单服务库存变化。 原始的同步流程 查询商品信息 (调用商品服务)计算总价(生成订单详情)商品服务扣库存(调用商品服务)订单入库( 生成订单) // 原始的MySQL同步流程 // 判断此代金券是否加入抢购 SeckillVouchers seckillVouchers = seckillVouch...
- 1 SQL优化 show status 了解各种SQL的执行效率: # 查看本session的sql执行效率 show status like 'Com_%'; # 查看全局的统计结果 SHOW GLOBAL STATUS LIKE 'Com_%' # 查看服务器的状态 show global status; 12345678 结果: Com_selec... 1 SQL优化 show status 了解各种SQL的执行效率: # 查看本session的sql执行效率 show status like 'Com_%'; # 查看全局的统计结果 SHOW GLOBAL STATUS LIKE 'Com_%' # 查看服务器的状态 show global status; 12345678 结果: Com_selec...
- 函数原型: my_ulonglong mysql_num_rows(MYSQL_RES *result) 说明: 功能为返回结果集中行的数量。 mysql_num_rows()的使用取决于你是否使用mysql_store_result()或mysql_use_result()返回一个结果集合。如果你使用mysql_store_result(),mysql_nu... 函数原型: my_ulonglong mysql_num_rows(MYSQL_RES *result) 说明: 功能为返回结果集中行的数量。 mysql_num_rows()的使用取决于你是否使用mysql_store_result()或mysql_use_result()返回一个结果集合。如果你使用mysql_store_result(),mysql_nu...
- 废话不多说,直接撸代码!!! //下面的代码是一个实现C++连接MYSQL数据库的很好的例子//这里用了建表,插入,检索,删表等常用功能//我用VC++6.0生成,已经成功连接了。//在VC++6.0中要想把做一下两步准备工作才可以。//(1)Tools->Options->Directories->Include files中添加C:\Prog... 废话不多说,直接撸代码!!! //下面的代码是一个实现C++连接MYSQL数据库的很好的例子//这里用了建表,插入,检索,删表等常用功能//我用VC++6.0生成,已经成功连接了。//在VC++6.0中要想把做一下两步准备工作才可以。//(1)Tools->Options->Directories->Include files中添加C:\Prog...
- 首先检测下系统是否自带安装MySQL rpm -qa | grep mysql 1 如果你系统有安装,那可以选择进行卸载 rpm -e mysql // 普通删除模式 rpm -e --nodeps mysql // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除 12 安装MySQL,可以mkdir mysql ... 首先检测下系统是否自带安装MySQL rpm -qa | grep mysql 1 如果你系统有安装,那可以选择进行卸载 rpm -e mysql // 普通删除模式 rpm -e --nodeps mysql // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除 12 安装MySQL,可以mkdir mysql ...
- 有可能在一个对mysql_query()成功的调用后,mysql_store_result()返回NULL。当这发生时,它意味着出现了下列条件之一: 有一个malloc()失败(例如,如果结果集合太大)。 数据不能被读取(发生在连接上的一个错误)。 查询没有返回数据(例如,它是一个INSERT、UPDATE或DELETE)。 你总是可以通过调用mysq... 有可能在一个对mysql_query()成功的调用后,mysql_store_result()返回NULL。当这发生时,它意味着出现了下列条件之一: 有一个malloc()失败(例如,如果结果集合太大)。 数据不能被读取(发生在连接上的一个错误)。 查询没有返回数据(例如,它是一个INSERT、UPDATE或DELETE)。 你总是可以通过调用mysq...
- 函数原型: int mysql_real_query(MYSQL *mysql, const char *query, unsigned int length) 说明: 执行由query指向的SQL查询,它应该是一个length个字节的字符串。查询必须由一个单个的SQL语句组成。你不应该在语句后增加一个终止的分号(“;”)或\g。 对于包含二进制数据的查询,你必... 函数原型: int mysql_real_query(MYSQL *mysql, const char *query, unsigned int length) 说明: 执行由query指向的SQL查询,它应该是一个length个字节的字符串。查询必须由一个单个的SQL语句组成。你不应该在语句后增加一个终止的分号(“;”)或\g。 对于包含二进制数据的查询,你必...
- 首先创建数据库hncu,建立stud表格。 添加数据: create table stud( sno varchar(30) not null primary key, sname varchar(30) not null, age int, saddress varchar(30) ); INSERT INTO stud VALUES('1001','Tom',2... 首先创建数据库hncu,建立stud表格。 添加数据: create table stud( sno varchar(30) not null primary key, sname varchar(30) not null, age int, saddress varchar(30) ); INSERT INTO stud VALUES('1001','Tom',2...
- 原文请访问: 【MySQL性能优化】概述与优化方面(一) 像sql语句如何进行调优,基本上在中高级程序员面试中都有可能会被问到。 所以说,了解,或者学习一下如何进行sql调优是必要的。 我会关于该sql调优文章出一个系列的博客。与大家一起学下去 首先不具体进行介绍,先大体的概括一下,因为答案基本是死的,但是处理方式是活的 MySQL性能优化/概述 ... 原文请访问: 【MySQL性能优化】概述与优化方面(一) 像sql语句如何进行调优,基本上在中高级程序员面试中都有可能会被问到。 所以说,了解,或者学习一下如何进行sql调优是必要的。 我会关于该sql调优文章出一个系列的博客。与大家一起学下去 首先不具体进行介绍,先大体的概括一下,因为答案基本是死的,但是处理方式是活的 MySQL性能优化/概述 ...
- 本篇博客讲解: 自动增长列、字段值唯一性约束、存储过程、区分大小写的查询! 自动增长列、字段值唯一性约束 create table aa( id int auto_increment primary key, sname varchar(32) unique ); insert into aa values(5,'abc'); 123456 创建一个自动增长的i... 本篇博客讲解: 自动增长列、字段值唯一性约束、存储过程、区分大小写的查询! 自动增长列、字段值唯一性约束 create table aa( id int auto_increment primary key, sname varchar(32) unique ); insert into aa values(5,'abc'); 123456 创建一个自动增长的i...
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢
2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考
2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本
2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签