- 下面模拟把latin1字符集的数据转换为utf8字符集一、创建测试表和测试数据:1.修改会话级别的连接字符集mysql > set names latin1;查看一下: \s2.创建测试表:mysql> create database test_latin1 charset latin1;Query OK, 1 row affected (0.00 sec)mysql> use test_... 下面模拟把latin1字符集的数据转换为utf8字符集一、创建测试表和测试数据:1.修改会话级别的连接字符集mysql > set names latin1;查看一下: \s2.创建测试表:mysql> create database test_latin1 charset latin1;Query OK, 1 row affected (0.00 sec)mysql> use test_...
- Character Set and CollationEvery character string literal has a character set and a collation.For the simple statement SELECT 'string', the string has the connection default character set and colla... Character Set and CollationEvery character string literal has a character set and a collation.For the simple statement SELECT 'string', the string has the connection default character set and colla...
- Index Condition Pushdown(ICP)Index Condition Pushdown (ICP)是MySQL使用索引从表中检索行数据的一种优化方式。ICP原理禁用ICP,存储引擎会通过遍历索引定位基表中的行,然后返回给MySQL Server层,再去为这些数据行进行WHERE后的条件的过滤。开启ICP,如果部分WHERE条件能使用索引中的字段,MySQL Server ... Index Condition Pushdown(ICP)Index Condition Pushdown (ICP)是MySQL使用索引从表中检索行数据的一种优化方式。ICP原理禁用ICP,存储引擎会通过遍历索引定位基表中的行,然后返回给MySQL Server层,再去为这些数据行进行WHERE后的条件的过滤。开启ICP,如果部分WHERE条件能使用索引中的字段,MySQL Server ...
- 1, 全字段排序 2,row_id 排序3, 优先队列排序算法 1, 全字段排序 2,row_id 排序3, 优先队列排序算法
- doublewrite缓冲区是一个存储区,在该存储区中,在 InnoDB将页面写入InnoDB数据文件中的适当位置之前,先从缓冲池中刷新页面 。如果 在页面写入过程中存在操作系统,存储子系统或意外的mysqld进程退出,则InnoDB可以在崩溃恢复期间从doublewrite缓冲区中找到页面 的良好副本。尽管数据被写入两次,但双写缓冲区不需要两倍的I / O开销或两倍的I / O操作。只需一... doublewrite缓冲区是一个存储区,在该存储区中,在 InnoDB将页面写入InnoDB数据文件中的适当位置之前,先从缓冲池中刷新页面 。如果 在页面写入过程中存在操作系统,存储子系统或意外的mysqld进程退出,则InnoDB可以在崩溃恢复期间从doublewrite缓冲区中找到页面 的良好副本。尽管数据被写入两次,但双写缓冲区不需要两倍的I / O开销或两倍的I / O操作。只需一...
- 1,对索引字段做函数操作,可能会破坏索引值的有序性,因此优化器就决定放弃走树搜索功能。2,是隐式类型转换3,例子是隐式字符编码转换,它们都跟第一个例子一样,因为要求在索引字段上做函数操作而导致了全索引扫描。MySQL的优化器确实有“偷懒”的嫌疑,即使简单地把where id+1=1000改写成where id=1000-1就能够用上索引快速查找,也不会主动做这个语句重写。 1,对索引字段做函数操作,可能会破坏索引值的有序性,因此优化器就决定放弃走树搜索功能。2,是隐式类型转换3,例子是隐式字符编码转换,它们都跟第一个例子一样,因为要求在索引字段上做函数操作而导致了全索引扫描。MySQL的优化器确实有“偷懒”的嫌疑,即使简单地把where id+1=1000改写成where id=1000-1就能够用上索引快速查找,也不会主动做这个语句重写。
- double write buffer就是一种缓冲缓存技术,主要的目的就是为了防止数据在系统断电,异常crash情况下丢失数据。先使用memcopy把脏数据复制到内存中的double write buffer,分两次写完,每次写1MB到共享表空间,然后就是调用fsync来同步到磁盘。 double write buffer就是一种缓冲缓存技术,主要的目的就是为了防止数据在系统断电,异常crash情况下丢失数据。先使用memcopy把脏数据复制到内存中的double write buffer,分两次写完,每次写1MB到共享表空间,然后就是调用fsync来同步到磁盘。
- Index Condition Pushdown(ICP)storage层:只将满足index key条件的索引记录对应的整行记录取出,返回给server层server 层:对返回的数据,使用后面的where条件过滤,直至返回最后一行。 Index Condition Pushdown(ICP)storage层:只将满足index key条件的索引记录对应的整行记录取出,返回给server层server 层:对返回的数据,使用后面的where条件过滤,直至返回最后一行。
- MySQL的全局锁和表级锁。全局锁主要用在逻辑备份过程中。对于全部是InnoDB引擎的库,我建议你选择使用–single-transaction参数,对应用会更友好。表锁一般是在数据库引擎不支持行锁的时候才会被用到的。如果你发现你的应用程序里有lock tables这样的语句,你需要追查一下,比较可能的情况是:要么是你的系统现在还在用MyISAM这类不支持事务的引擎,那要安排升级换引擎;要... MySQL的全局锁和表级锁。全局锁主要用在逻辑备份过程中。对于全部是InnoDB引擎的库,我建议你选择使用–single-transaction参数,对应用会更友好。表锁一般是在数据库引擎不支持行锁的时候才会被用到的。如果你发现你的应用程序里有lock tables这样的语句,你需要追查一下,比较可能的情况是:要么是你的系统现在还在用MyISAM这类不支持事务的引擎,那要安排升级换引擎;要...
- > 超时时间可以通过参数innodb_lock_wait_timeout来设置 .> innodb_deadlock_detect设置为ON, 发起死锁检测,发现死锁后,主动回滚死锁链条中的某一个事务,让其他事务得以继续执行。 一种头痛医头的方法,就是如果你能确保这个业务一定不会出现死锁,可以临时把死锁检测关掉。但是这种操作本身带有一定的风险,因为业务设计的时候一般不会把死锁当做一个严重错... > 超时时间可以通过参数innodb_lock_wait_timeout来设置 .> innodb_deadlock_detect设置为ON, 发起死锁检测,发现死锁后,主动回滚死锁链条中的某一个事务,让其他事务得以继续执行。 一种头痛医头的方法,就是如果你能确保这个业务一定不会出现死锁,可以临时把死锁检测关掉。但是这种操作本身带有一定的风险,因为业务设计的时候一般不会把死锁当做一个严重错...
- 云数据库GaussDB(for Redis)作为华为云旗下企业级Redis,致力于为客户提供稳定可靠、超高并发,且能够极速弹性扩容的KV存储服务。 云数据库GaussDB(for Redis)作为华为云旗下企业级Redis,致力于为客户提供稳定可靠、超高并发,且能够极速弹性扩容的KV存储服务。
- MySQL认为排序的单行长度太大 ? 初始化sort_buffer,确定放入两个字段,即name和id;从索引city找到第一个满足city='杭州’条件的主键id,也就是图中的ID_X;到主键id索引取出整行,取name、id这两个字段,存入sort_buffer中;从索引city取下一个记录的主键id;重复步骤3、4直到不满足city='杭州’条件为止,也就是图中的ID_Y;对sort... MySQL认为排序的单行长度太大 ? 初始化sort_buffer,确定放入两个字段,即name和id;从索引city找到第一个满足city='杭州’条件的主键id,也就是图中的ID_X;到主键id索引取出整行,取name、id这两个字段,存入sort_buffer中;从索引city取下一个记录的主键id;重复步骤3、4直到不满足city='杭州’条件为止,也就是图中的ID_Y;对sort...
- select city,name,age from t where city='杭州' order by name limit 1000 ; 语句执行流程如下所示 :初始化sort_buffer,确定放入name、city、age这三个字段;从索引city找到第一个满足city='杭州’条件的主键id,也就是图中的ID_X;到主键id索引取出整行,取name、city、age三个字段的值... select city,name,age from t where city='杭州' order by name limit 1000 ; 语句执行流程如下所示 :初始化sort_buffer,确定放入name、city、age这三个字段;从索引city找到第一个满足city='杭州’条件的主键id,也就是图中的ID_X;到主键id索引取出整行,取name、city、age三个字段的值...
- GeminiDB Redis 是华为云企业级KV数据库,支持数据可靠存储,超高并发,秒级在线扩容。 GeminiDB Redis 是华为云企业级KV数据库,支持数据可靠存储,超高并发,秒级在线扩容。
上滑加载中
推荐直播
-
华为云码道 × 仓颉编程:工程化AI编码探索2026/05/27 周三 19:00-21:00
刘俊杰-华为云仓颉语言专家/李炎-华为云码道技术专家/王智鹏-OpenCangjie开源社区发起人
本场直播围绕华为云仓颉语言与华为云码道的深度结合,展示华为云智能编程从零基础到高效落地的完整生态能力。以华为云码道为引擎,仓颉语言为载体,带给大家日常提效、趣味创新到极速量产的开发体验。
回顾中 -
一个AI团队帮你写代码:华为云码道Agent Space实战2026/06/25 周四 19:00-21:00
张翰文-华为云码道工程师/郭英旭-青软创新科技集团股份有限公司 软件架构师
本场直播聚焦华为云码道Agent Space两大模式:研发办公、代码开发,亲身体验从需求到代码的AI自动化能力。实操演示基于华为 CodeArts CLI,依托 OpenSpec 规格体系从零搭建业务项目。
回顾中
热门标签