《叶问》第7期

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: 《叶问》是知数堂新设计的互动栏目,不定期给大家提供技术知识小贴士,形式不限,或提问、或讨论均可,并在当天发布答案,让大家轻轻松松利用碎片时间就可以学到最实用的知识点。

2018年8月9日,周四

MySQL的表中有唯一索引,设置unique_checks为0时,还能否写入重复值?

1、首先,即便设置unique_checks=0,也无法往唯一索引中写入重复值。
2、其次,设置unique_checks=0的作用在于,批量导入数据(例如load data)时,在确保导入数据中无重复值时,无需再次检查其唯一性,加快导入速度。
3、所以,unique_checks=0并不是允许唯一约束失效,而是再批量导数据时不再逐行检查唯一性。

2018年8月15日,周六

某人曰,在数据检索的条件中使用!=操作符时,存储引擎会放弃使用索引。 理由:因为检索的范围不能确定,所以使用索引效率不高,会被引擎自动改为全表扫描。你认可他的说法吗?

1、答:通常情况下,这个说法是正确的。当然,也有特殊情况,话不能说绝对了。
有一个测试表共80万条数据,其中type列只有1、2两个值,分别占比97%和3%。 这种情况下,查询条件 WHERE type != 1,是有可能也可以走索引的。

下面是两个SQL的执行计划:
mysql> desc select * from t1 where type = 1G
1. row
id: 1
select_type: SIMPLE
table: t1
partitions: NULL
type: ref
possible_keys: type
key: type
key_len: 4
ref: const
rows: 399731
filtered: 100.00
Extra: NULL
mysql> desc select * from t1 where type != 1G
1. row
id: 1
select_type: SIMPLE
table: t1
partitions: NULL
type: ref
possible_keys: type
key: type
key_len: 4
ref: const
rows: 10182
filtered: 100.00
Extra: NULL

type数据分布
mysql> select type, count(*) as cnt from t1 group by type order by cnt;
+------+--------+
| type | cnt |
+------+--------+
| 2 | 38304 |

2018年8月17日,周一

Redis集群的slot迁移是如何实现的?

1、答:迁移源slot设置为migrating 状态,迁移目标slot设置为importing状态。
2、在内部用dump & restore命令,把数据迁移到目标节点,迁移结束之后,移除migrating和importing状态。
3、在迁移过程中如果有数据访问,如果数据没迁移到目标节点,那么直接返回结果,如果迁移到目标节点,那么给客户端返回ASK重定向。

2018年8月27日,周一

在大表执行ddl的过程中,若临时中断,会发生什么状况,需要特别处理吗 ?

前提说明:MySQL5.7.23、innodb表、“双1”

1、添加/删除列,采用copy的方式
1.1、ctrl+c。在当前session中,手动执行ctrl+c。无影响,并且会自动删除产生的临时文件。
1.2、kill -9。在执行ddl的时候,服务器发生意外宕机或者手动执行kill -9。待MySQL启动后,则会自动执行InnoDB Recovered流程。并且不会删除产生的临时文件,需要手工处理。
2、添加/删除索引,采用INPLACE方式
2.1、ctrl+c,同1.1
2.2、kill -9。不会删除临时文件,也不会执行InnoDB Recovered流程并且报错 Operating system error number 2 in a file operation ....OS error: 71

在开始执行alter table的过程中,在没有结束的时候,并不会写入到binglog文件中。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
北极星指标有哪些优缺点
北极星指标有哪些优缺点
308 0
|
机器学习/深度学习 人工智能 自然语言处理
人工智能的概念、分类与实现方法
什么是人工智能 人工智能 又被称为机器智能,是一种综合计算机科学、统计学、语言学等多种学科,使机器 模仿、展现 人类智能的 技术。 说到人工智能我们不得不提到图灵测试,那么什么是图灵测试呢? 计算机科学家 艾伦·图灵 在 1950 年发表了一篇论文,文中提出了一项思想实验:我们委托一名人类测试员,使用测试对象能够理解的语言,分别和身处密室中的一台机器、一名人类自由地进行对话。假如经过若干轮对话后,测试员依然无法分辨出谁是机器、谁是人类,则说明该机器通过测试,是具有智能的。 人工智能的应用也可分为四大主要组成部分: 计算机视觉:辨识图像的形状、颜色、含义; 自然语言处理:理解人类的自然语言
813 0
|
Dubbo 应用服务中间件
java.io.IOException: invalid constant type: 18
java.io.IOException: invalid constant type: 18
1007 0
java.io.IOException: invalid constant type: 18
|
10月前
|
存储 运维 监控
金融场景 PB 级大规模日志平台:中信银行信用卡中心从 Elasticsearch 到 Apache Doris 的先进实践
中信银行信用卡中心每日新增日志数据 140 亿条(80TB),全量归档日志量超 40PB,早期基于 Elasticsearch 构建的日志云平台,面临存储成本高、实时写入性能差、文本检索慢以及日志分析能力不足等问题。因此使用 Apache Doris 替换 Elasticsearch,实现资源投入降低 50%、查询速度提升 2~4 倍,同时显著提高了运维效率。
545 3
金融场景 PB 级大规模日志平台:中信银行信用卡中心从 Elasticsearch 到 Apache Doris 的先进实践
|
存储 供应链 数据挖掘
RDBMS技术有哪些应用场景
【10月更文挑战第21】RDBMS技术有哪些应用场景
378 2
|
人工智能 算法 量子技术
未来科技的曙光:量子计算的崛起与挑战
【10月更文挑战第15天】 在科技的浩瀚星海中,量子计算犹如一颗新星,正逐渐升起并散发出耀眼的光芒。本文将深入浅出地探讨量子计算的基本原理、当前进展、面临的挑战以及它对未来科技发展的潜在影响,带领读者一同领略这一前沿技术的魅力与奥秘。
279 0
|
小程序 前端开发 JavaScript
小程序中wx:if 和hidden的区别
在微信小程序中,wx:if和hidden都是用于控制元素显示与隐藏的方法,但它们在工作原理和性能上存在显著差异。
380 3
|
安全 机器人 数据安全/隐私保护
steam注册教程,8个步骤拥有属于自己的steam账户
steam注册教程,从小白到高手,只差这篇教程!
1617 4
steam注册教程,8个步骤拥有属于自己的steam账户
Typora——如何画流程图 | mermaid-js
Typora——如何画流程图 | mermaid-js
418 0
|
编解码 移动开发 前端开发
详细介绍Viewport Meta标签的作用、属性以及如何在移动端开发中合理使用它,以优化网页的显示效果
【6月更文挑战第14天】本文介绍了HTML的Viewport Meta标签在移动端网页优化中的应用。该标签定义了视口属性,如宽度、高度和缩放,解决屏幕尺寸差异导致的显示问题。通过设置`width=device-width`确保页面适应设备宽度,`initial-scale=1.0`保持原始比例,`user-scalable=no`可禁用手动缩放。此外,使用`viewport-fit=cover`适配不同像素比设备的安全区域。合理利用这些属性能改善移动端网页显示效果。
670 1