
MySQL
TreeCode
我喜欢种树
展开
-
MySQL事务
事务的ACID特性1. 原子性(Atomicity)事务是数据库中的逻辑工作单位,事务中包括的所有操作,要么全做,要么全不做。2. 一致性(Consistency)事务执行的结果必须是使数据库从一个状态变到另一个一致性状态变到另一个一致性状态。因此当数据库只包含成功事务提交的结果时,就说数据库处于一致性的状态。如果数据库系统运行中发生故障,有些事务尚未完成就被迫中断,这些未完成的事务对数据库所做的修改有一部分已写入物理数据库(部分提交事务),这时数据库就处于一种不正确的状态,或者说不一致的状态。可见原创 2020-09-14 20:41:27 · 123 阅读 · 0 评论 -
MySQL中SHOW Profile进行sql分析
1.查询profilingmysql> show variables like 'profiling';+---------------+-------+| Variable_name | Value |+---------------+-------+| profiling | OFF |+---------------+-------+1 row in set (0.00 sec)2.开启profilingmysql> set profiling=on;Qu原创 2020-09-14 12:33:22 · 188 阅读 · 0 评论 -
MySQL大数据量存储
简单记录一下如何往数据库中插入大量数据DELIMITER $$CREATE FUNCTION rand_str(n INT) RETURNS VARCHAR(255)BEGIN DECLARE chars_str VARCHAR(100) DEFAULT 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; DECLARE retutn_str VARCHAR(255) DEFAULT ''; DECLARE i INT DEFAULT原创 2020-09-14 09:20:29 · 747 阅读 · 0 评论 -
MySQL慢查询日志的查看与开启
1. 查看慢查询的状态SHOW VARIABLES LIKE '%slow_query_log%';2. 慢查询日志开启原创 2020-09-13 12:23:48 · 1817 阅读 · 1 评论 -
MySQL排序方式与ORDER BY 的简单介绍
1. MySQL排序方式文件排序(Using filesort)文件排序有两种算法:1.1 双路排序:MySQL4.1以前使用的是双路排序,即两次扫描磁盘(两次IO),然后得到数据,第一次IO,读取行指针和ORDER BY列,在buffer中对他们进行排序;第二次IO,扫描已经排序完成的列表,从磁盘中按照列表中的值重新从列表中读取对应的字段数据输出。1.2 单路排序:一次IO,从磁盘上读取查询需要的所有列,按照ORDER BY列在buffer中对它们进行排序,然后扫描排序后的列表输出。可能出现的问原创 2020-09-13 10:36:25 · 222 阅读 · 0 评论 -
MySQL索引失效或部分失效的情况
最佳左前缀法则 使用复合索引时,索引的使用顺序应该严格执行建立索引时的顺序,把复合索引看成一列火车,中间任何一个字段没有用上就相当于火车中间有一节车厢脱节,那么这节脱节车厢,包括后面的所有车厢都会脱节,即后面的所有字段都不会用上索引。最严重的是如果第一个字段索引顺序就不对,则索引完全失效。所以出现这种问题最好重新建立索引改复合索引中的字段顺序不在索引列上做任何操作 在索引列上发生的计算,函数,类型转换(包括自动)操作都会导致索引失效使用索引出现范围条件 在范围条件的索引字段之后的复合索引字段原创 2020-09-10 23:55:01 · 417 阅读 · 0 评论 -
Mysql单表索引优化,双表三表join优化
单表调优多表调优原创 2020-09-09 21:53:57 · 391 阅读 · 0 评论 -
MySQL中EXPLAIN关键字性能分析各个字段简单介绍
MySQL的性能分析当然离不开explain关键字用法EXPALIN + sql 语句explain能干嘛1.表的读取顺序2.数据读取操作的操作类型3.哪些索引可以使用4.哪些索引被实际使用5.表之间的引用6.每张表有多少行被优化器查询分析explain结果结果所包含的信息字段一、id:select查询的序列号,包含一组数字,表示查询中执行select子句或操作表的顺序,查询出来的id有三种情况情况一:全部id相同情况二:全部id不同情况三:部分id相同,部分id不同原创 2020-09-06 22:07:08 · 433 阅读 · 0 评论 -
Mysql索引学习
Mysql索引是什么官方定义索引是帮助Mysql高效获取数据的数据结构我们可以理解为,排好序的的快速查找数据结构详解注意事项1.一般来说索引本身也很大,不可能全部存储在内存中,因此索引往往以索引文件的形式存储的磁盘上2.我们平常所说的索引,如果没有特别指明,都是指B树(多路搜索树,并不一定是二叉的)结构组织的索引。其中聚集索引,次要索引,覆盖索引,复合索引,前缀索引,唯一索引默认都是使用B+树索引,统称索引。当然,除了B+树这种类型的索引之外,还有哈稀索引(hash index)等。定义原创 2020-09-04 22:35:02 · 149 阅读 · 0 评论