#高性能MySQL

高性能mysql之慎用BLOB与TEXT

文章转自 https://blog.csdn.net/john1337/article/details/70919212BLOB与TEXT是为了存储极大的字符串而设计的数据类型,采用二进制与字符串方式存储。mysql对待这两个类型可谓煞费苦心,mysql会把这两种类型的值当做一个独立的对象处理,存储引擎在存储...

阅读笔记-【高性能MySQL】第一章-MySQL架构与历史

 html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,stri...

《高性能MySQL》之EXPLAIN

语法如下:explainselect*fromtableexplain中的列expain出来的信息有10列,分别是id,select_type,table、type,partitions,possible_keys,key,key_len,ref,rows,Extra,下面对这些字段出现的可能进行解释:1.IDSQL执...
代码星球 ·2020-07-24

《高性能MySQL》之MySQL查询性能优化

响应时间过长。如果把查询看做是一个任务,那么它由一系列子任务组成,每个子任务都会消耗一定的时间。如果要优化查询,实际上优化其子任务,要么消除其中一些子任务,要么减少子任务的执行次数,要么让子任务运行得更快。查询的生命周期:客户端->服务器->服务器上解析->生成执行计划->执行->返回结果...

高性能mysql读书笔记(一):Schema与数据类型优化

原理:MySQL的ALTERTABLE操作的性能对大表来说是个大问题。MySQL执行大部分修改表结构操作的方法是用新的结构创建一个空表,从旧表中查出所有数据插入新表,然后删除旧表。这样操作可能需要花费很长时间,如果内存不足而表又很大,而且还有很多索引的情况下尤其如此特点:大部分ALTERTABLE操作将导致MySQL服...

高性能mysql第三版读书笔记3

innodb以前不支持高并发,在搞病房下就是悲剧,全部卡在mutex(缓冲池mutex)上,现在通过线程调度器控制线程怎么进入内核访问数据,参数为innodb_thread_concurrency,它有计算公式:CPU数量*磁盘数量*2。如果无法进入内核会休眠innodb_thread_sleep_delay微妙。还有...

高性能mysql第三版读书笔记2

如果查询在from子句中包含子查询,MySQL会执行子查询,将结果放在一个临时表中,然后完成外层查询的优化,它必须在外层查询优化前处理;所有类似的子查询,explain也必须。这样做,意味着如果子查询开销较大,或使用临时表,服务器开销会比较大。explain对内存排序和临时文件都使用filesort,并且对于磁盘上和内...

高性能mysql第三版读书笔记1

showprofiles查看所有查询执行时间,通过showprofileforqueryID查看具体某个查询执行时间,一般耗费在sendingdata上面。timestamp只使用datetime一般的存储。可以用bigint代替decimal,这样避免浮点存储计算不精确和decimal精确计算代价高的问题。如果要排序...

高性能MySQL

为什么我们需要先学习MYSQL的基础架构先呢?原因很简单,当我们需要了解一件事物的时候,我们只有站在宏观的层面,才能层层剥丝抽茧的去理解问题。举个例子,我们要看一个框架的源码,一开始就想进去研究,却发现找不着北,原因很简单,因为我们没有鸟瞰全貌,我们根本不知道入口在哪里。因此我们学习MYSQL的时候也是这样。先从高纬度...
代码星球 ·2020-04-11

《高性能MySQL》读书笔记--锁、事务、隔离级别 转

1.锁为什么需要锁?因为数据库要解决并发控制问题。在同一时刻,可能会有多个客户端对表中同一行记录进行操作,比如有的在读取该行数据,其他的尝试去删除它。为了保证数据的一致性,数据库就要对这种并发操作进行控制,因此就有了锁的概念。从对数据操作的类型(读写)分读锁(共享锁):针对同一块数据,多个读操作可以同时进行而不会互相影...

mysql左连接查询例子

一、什么是左连接查询?左连接查询是SQL中的一种连接操作,它返回左表(左侧的表)的所有记录,即使右表(右侧的表)中没有匹配的记录。在左连接中,如果左表与右表之间存在匹配的记录,则右表的相应记录会被包含在查询结果中;如果没有匹配的记录,则右表的部分字段会显示为NULL。二、左连接查询的语法左连接查询的基本语法如下:&nb...
开发笔记 ·2024-10-21

MySQL数据库的mysqldump命令使用

mysqldump 是 MySQL 自带的逻辑备份工具。它的备份原理是通过协议连接到 MySQL 数据库,将需要备份的数据查询出来,将查询出的数据转换成对应的insert 语句,当我们需要还原这些数据时,只要执行这些 insert 语句,即...

mysql字符乱码怎么办

字符乱码的原因通常与以下三个因素有关:MySQL使用的字符集可能与你的应用程序使用的字符集不匹配。这通常会导致字符转换错误,从而产生乱码。例如,如果你的应用程序使用UTF-8编码,但是MySQL数据库使用Latin1编码,那么当你从数据库中获取Latin1编码的数据并尝试将其显示在应用程序中时,就会出现乱码问题。有时,...
开发笔记 ·2024-10-16

linux 环境 mysql写入中文报错

解决方案: 查看字符集编码 MySQL>showvariableslike'character%'; 修改字符集编码,方法如下 mysql>setcharacter_set_database=utf8; 注意,有可能在修改之后仍然在写入中文是...

通过bin-log对mysql进行数据恢复

mysqlbinlog --database=数据库名--start-date="2017-06-015:00:00" --stop-date="2017-06-1110:00:00" var/mysql-bin.000001 | ...
首页上一页12345...下一页尾页