中间件与数据库:MySQL

MySQL 索引长度限制的案例

我们知道,MySQL 和 Oracle 在索引上最大的一个区别,就是索引存在长度的限制。如果是超长键值,可以支持创建前缀的索引,顾名思义,取这个字段的前多少个字符/字节作为索引的键值。

之所以可以定义一个字段前缀作为键值,存储效率是考虑的一个因素,如果列名的前10个字符通常都是不同的,检索这10个字符创建的索引应该会比检索整个列作为索引的效率更高,使用列前缀作为索引会让索引树更小,不仅节省空间,还可能提高插入操作的速度。

MySQL表联接原理分析

用过MySQL的同学肯定都知道表联接,关键字即为 join ,使用的场景就是“当只查询一个表的信息不能满足我们需求”的时候,就需要用到两个甚至多个表联接查询。那么该如何降低查询成本呢?

适当的使用 MySQL 原生表分区

MySQL 数据库现在主要用的引擎是 InnoDB ,InnoDB 没有类似于 MERGE 引擎这样的原生拆表方案,不过有原生分区表,以水平方式拆分记录集,对应用端透明。

分区表的存在为超大表的检索请求、日常管理提供了一种额外的选择途径。分区表使用得当,对数据库性能会有大幅提升。

Debugging Systems in the Cloud: MySQL, Kubernetes, and Cgroups

An overview of how we investigated and solved the issue of some Kubernetes Pods running MySQL starting up and shutting down slower than other similar Pods with the same data set.

MySQL 突如其来的主从复制延迟

大佬前几天来自生产上的一个问题,又涨知识了,今天拿来分享给大家。

谁动了我的数据?去哪儿网MySQL嗅探程序

本文主要介绍去哪儿网DBA团队如何通过抓包、解析MySQL协议,获取数据库全量访问日志,解决了“谁动了我的数据”问题。

MySQL改表工具ptosc在主从数据同步中的妙用

本文通过讲述一个数据不一致问题的定位原因和解决问题的过程,展示了MySQL改表工具ptosc在主从数据同步中的妙用。

第46问:MySQL 使用的文件句柄突增, 该如何诊断

我们动用 perf,来追踪打开句柄的系统调用。

MySQL 8.0:新的身份验证插件(caching_sha2_password)

从 MySQL 8.0.4 开始,默认身份验证插件从 mysql_native_password 更改为 caching_sha2_password。

MySQL 修改可信 IP 白名单的方法

因为机房搬迁,堡垒机集群需要迁移到新的网段,我们需要批量修改 MySQL 上这些账号的网段地址。下面我们研究一下应该怎么修改。

MYSQL深潜 - 剖析Performance Schema内存管理

本文主要是通过对PFS引擎的内存管理的源码的阅读,解读PFS内存分配及释放原理,深入剖析其中存在的一些问题,以及一些改进思路。

基于MySQL binlog日志,实现Elasticsearch近实时同步实践

在我们的开发过程中,经常会在一个项目中使用多种数据库系统。在一些特定场景下,我们希望把数据从一种数据库,同步到另一种异构的数据库,以便进行数据分析统计、完成实时监控、实时搜索等功能。这个异构数据源同步的过程称为Change Data Capture(变化数据捕获)。

我们本文讨论的是Source为MySQL、Target为ElasticSearch的场景下,进行增量和全量同步操作过程。众所周知,MySQL数据库凭借其性能卓越、服务稳定、开放源代码、社区活跃等因素,成为当下最流行的关系型数据库,但是在数据量级较大或涉及到多表操作时,亦或是需要根据地理位置进行查询时,MySQL通常不能给我们很好的支持。

为了解决MySQL查询缓慢、无法查询的问题,我们通常采用ElasticSearch等进行配合检索。在传统方式中,将MySQL同步数据到ElasticSearch通常采用的是双写、MQ消息等形式,这些形式都存在着耦合高、性能差、丢失数据等风险。

所以我们需要探索出一套对业务无侵入的MySQL同步至ElasticSearch异构数据库的解决方案。本文将分别从增量同步、全量同步两个层面进行探讨。

一文揭秘MySQL复制之Seconds_Behind_Master的计算

文章通过MySQL官方文档和MySQL源码两个方面,分析了MySQL主从复制延迟参数Seconds_Behind_Master是如何计算的。

庖丁解牛-图解MySQL 8.0优化器查询转换篇

本篇介绍子查询、分区表和JOIN的复杂转换过程。

MySQL慢查询风险指数模型设计

用量化的思维解决慢查询。

MySQL 数据垂直拆分

一般来说讲,提到数据拆分,总归可以归结为两个层面:一是垂直拆分,二是水平拆分。这里我们来讨论下垂直拆分。

Accueil - Wiki
Copyright © 2011-2024 iteam. Current version is 2.129.0. UTC+08:00, 2024-07-02 00:49
浙ICP备14020137号-1 $Carte des visiteurs$