• 极客专栏正式上线!欢迎访问 https://www.jikewenku.com/topic.html
  • 极客专栏正式上线!欢迎访问 https://www.jikewenku.com/topic.html

标签:MySQL

【mysql】mysql系统架构

《高性能Mysql》学习笔记, 最近在死磕数据库方面的东西,今天内容不多,先开个头吧。mysql系统架构MySQL的存储引擎架构将查询处理与数据的存储/提取相分离。下面是MySQL的逻辑架构图:mysql系统架构分层第一层负责连接管理、授权认证、安全等等。每个客户端的连接都对应着服务器上的一个线程。服务器上维护了一个线程……

我为什么放弃MySQL?选择了MongoDB

最近有个项目的功能模块,为了处理方便,需要操作集合类型的数据以及其他原因。考虑再三最终决定放弃使用MySQL,而选择MongoDB。两个数据库,大家应该都不陌生。他们最大的区别就是MySQL为关系型数据库,而MongoDB为非关系型数据库。常见的关系型数据库有:MySQL、Oracle、DB2、SQL Server、Postgre SQL等……

百万数据查询优化技巧三十则

对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:?     select id from t where num is null?     可以在n……

彻底解决MySQL中文乱码

mysql是我们项目中非常常用的数据型数据库。但是因为我们需要在数据库保存中文字符,所以经常遇到数据库乱码情况。下面就来介绍一下如何彻底解决数据库中文乱码情况。1、中文乱码1.1、中文乱码create table user(name varchar(11));    # 创建user表insert into table user(&……

深入InnoDB空间及索引页文件结构

InnoDB数据存储模型用”spaces”表示,也被称为”tablespaces”,有时候也被称为”file spaces”,一个space可能包含多个操作系统级别的实际文件(例如ibdata1,ibdata2等)。但是只是被当做一个逻辑文件:多个物理文件只是被视为物理连接……

关键的十个MySQL性能优化技巧

        与所有的关系型数据库一样,Mysql仿佛是一头让人难以琢磨的怪兽。它会随时停摆,让应用限于停滞,或者让你的业务处于危险之中。  事实上,许多最常见的错误都隐藏在MySQL性能问题的背后。为了确保你的MySQL服务器能够一直处于全速运行的状态,提供持续稳定的性能,杜绝这些错误是非常重要的。然而,这些错误又往往隐藏……

史上更全的MySQL高性能优化实战总结!

一、前言MySQL对于很多Linux从业者而言,是一个非常棘手的问题,多数情况都是因为对数据库出现问题的情况和处理思路不清晰。在进行MySQL的优化之前必须要了解的就是MySQL的查询过程,很多的查询优化工作实际上就是遵循一些原则让MySQL的优化器能够按照预想的合理方式运行而已。今天给大家体验MySQL的优化实战,助你高薪之路顺畅!图……

高性能MySQL复制与缓存

复制解决的基本问题让一台服务器的数据让其他服务器保持同步,一台主库的数据可以同步到多台备库上,悲苦本身也可以被配置成另外一台服务器的主库。MySQL支持两种复制方式:基于行的复制和基于语句的复制(逻辑复制)。这两种都是在主库上记录二进制日志,在备库重放日志的方式来实现异步的数据复制, 这说明同一时间主备库存在不一致,并且无法保证主备之间的……

【干货】MySQL索引与优化实践

一、索引的数据结构 B-Treemysql主要使用 B-tree 平衡树聚簇索引与非聚簇索引聚簇索引:索引的叶节点指向数据 非聚簇索引:索引的叶节点指向数据的引用对于innodb引擎:myisam使用非聚簇索引,innodb使用聚簇索引1、主键索引既存储索引值,又在叶中存储行数据 2、如果没有主键,则会使用 unique ……

innodb_ruby:窥探InnoDB奥秘的神器

一个InnoDB文件的解析工具,通过解析InnoDB文件,可以窥探其中很多的奥秘,绝对是一款非常优秀,高逼格的研究InnoDB的工具。但是作者不建议在生产环境使用,因为肯定有BUG,O(∩_∩)O哈哈~,作者写这个工具的主要目的是作为一个学习研究InnoDB的工具。github地址Github地址:https://github.com/je……

从开发者角度谈Mysql主键

说在前面零度mysql一直比较薄弱,俗话说的好,不会mysql的程序员不是好程序员,刚刚好认识mysql大牛刘龘刘,刚刚好就有了这些文章,主要是刘龘刘大牛写的,零度稍微修改成文,零度觉得这系列文章非常不错,可以从开发者角度看看mysql。主题使用自增主键的好处使用非自增主键坏处总结使用自增主键的好处那么每次插……

收集的MySQL的面试题分享给大家

1、如何登陆mysql数据库MySQL -u username -p2、如何开启/关闭mysql服务service mysql start/stop3、查看mysql的状态service mysql status4、如何显示数所有数据库show databases5、如何获取表内所有字段对象的名称和类型describe tabl……

掌握MySQL的B+Tree索引暨如何计算索引树高度

我们使用MySQL数据库的时候,绝大部分的情况下在使用InnoDB存储引擎,偶尔会使用MyISAM存储引擎,至于其他存储引擎,我相信大家都很少接触到,甚至可能都没有听说过。所以本文只讲解InnoDB和MyISAM两个存储引擎的索引,以及如何计算这两个存储引擎的索引结构B+Tree的高度。InnoDBInnoDB主键索引示意图如下,非叶子节……

MySQL优化/面试,看这一篇就够了

本文概要概述为什么要优化系统的吞吐量瓶颈往往出现在数据库的访问速度上随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢数据是存放在磁盘上的,读写速度无法和内存相比如何优化设计数据库时:数据库表、字段的设计,存储引擎利用好MySQL自身提供的功能,如索引等横向扩展:MySQL集群、……

Redis 缓存和 MySQL 数据如何实现一致性?

需求起因在高并发的业务场景下,数据库大多数情况都是用户并发访问最薄弱的环节。所以,就需要使用redis做一个缓冲操作,让请求先访问到redis,而不是直接访问MySQL等数据库。这个业务场景,主要是解决读数据从Redis缓存,一般都是按照下图的流程来进行业务操作。缓存和数据库一致性解决方案第一种方案:采用延时双删策略在写库前后……

单表查询是如何执行的

本篇正文对于我们这些MySQL的使用者来说,MySQL其实就是一个软件,平时用的最多的就是查询功能。DBA时不时丢过来一些慢查询语句让优化,我们如果连查询是怎么执行的都不清楚还优化个毛线,所以是时候掌握真正的技术了。我们在第一章的时候就曾说过,MySQL Server有一个称为查询优化器的模块,一条查询语句进行语法解析之后就会被交给查询优化器来进行优化,优……

MySQL的使用注意事项

MySQL 本身的使用和配置有以下注意点MySQL 默认的连接数是 100 , 调整 MySQL 的最大连接数能够在一定程度上提高井发能力 。使用慢查询日志监测导致数据库响应缓慢的 SQL 语句 。MySQL 有一个常见的连接缓慢原因,那就是会根据域名做反向 DNS 查询 。 这个问题可以通过在 MySQL 中加入 skip-name-resolve ……

MySQL大表优化策略

当 MySQL 单表记录数过大时,数据库的 CRUD 性能会下降,需要如下的一些优化措施 。1 )限定数据的范围 对于大数据茸的数据表,全表扫描肯定是不可接受的 。 务必禁止不带任何限制数据范围条件的查询语句存在。 比如, 当用户查询订单历史数据时,可以控制在最近一个月的数据中进行筛选 。2 )读/写分离 经典的数据库拆分方案主库负责写 ,从库负责读……

数据库的锁机制

锁机制 MySQL 为了解决并发、数据安全的问题 ,使用了锁机制 。可以按照锁的粒度把数据库锁分为表级锁和行级锁。表级锁:是 MySQL 中锁定粒度最大的一种锁,对当前操作的整张表加锁, 实现简单,资源消耗较少, 加锁快 ,不会出现死锁。 其锁定粒度最大 , 触发锁冲突的概率最高,并发度最低 。 MyISAM 和 InnoDB 引擎都支持表级锁。行……

MySQL索引的使用

索引的使用 MySQL 索引使用的数据结构主要有 BTree 索引和哈希索引 。 对于哈希索引来说,底层数据结构就是哈希表,因此在绝大多数需求为单条记录查询的时候,可以选择使用晗希索引 ,查询性能最快;其余大部分索引场景,则建议选择 BTree 索引 。MySQL 的 BTree 索引使用的是 B 树中的 B+Tree ,但对于主要的两种存储引擎其实现……

数据库中的事务机制

事务机制关系型数据库是需要遵循 ACID 规则的,分别介绍如下 。A( Atomic )原子性:即事务要么全部做完,要么全部都不做。 只要其中一个操作失败,就认为事务失败,需要回滚 。C ( Consistency )一致性: 数据库要一直处于一致的状态 。I ( Isolation )独立性: 并发的事务之间不会互相影响 。D ( Dura……

MySQL数据同步中的Binlog

MySQL 的 Binlog 是用来做 POINT-IN-TIME 的恢复和主从复制的,由数据库上层生戚,是 SQL 执行的逻辑日志,在事务提交完成后进行一次写入 。Binlog 有如下 3 种格式 。1 ) StatementMySQL 的默认 Binlog 格式 。 每一条会修改数据的 SQL 都被记录到 bin-log 中, Slave 在复制……

MySQL查询缓存的使用

查询缓存的使用 my.cnf 中加入以下配置 ,重启 MySQL 开启查询缓存 :query_cache_type = 1query_cache_size = 60000MySQL 命令行执行以下命令,也可开启查询缓存:set global query_cache_type = 1;set global query_cache_s……

MySQL字符集和校对规则

字符集和校对规则在创建数据库、数据表的时候会指定 character 和 collate 。 如下:CRREATE DATABASE db name DEFAULT CHARSET SET utf8 COLLATE utf 8 generalci ;CREATE TABLE 、 note 、 ( `id` bigint(ll) u……

  • 精品技术教程
  • 编程资源分享
  • 问答交流社区
  • 极客文库知识库

客服QQ


QQ:2248886839


工作时间:09:00-23:00