Mysql
shui2104
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Mysql_索引相关优化
索引的相关优化索引的基本知识 索引能够大大的提高系统的性能。索引的优点通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性大大加快数据的检索速度,这也是创建索引的最主要原因加快表与表之间的连接,在实现数据的参考完整性方面特别有意义在使用分组和排序,子句进行数据检索时,同样可以显著减少查询中分组和排序的时间通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。 当然索引的维护也需要相应的开销:创建索引和维护索引需要时间,这种时间随着数据量的增加而增加索引需要占原创 2020-11-12 00:39:54 · 157 阅读 · 0 评论 -
数据库事务(InnoDB)
事务 用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。事务的四个特性(ACID)原子性(A) 整个数据库事务是不可分割的工作单位。只有使事务中所有的数据库操作都执行成功,才算整个事务成功。事务中任何一个sql语句执行失败,已经执行成功的sql也必须撤销,数据库状态应该退回到执行事务前的状态。一致性© 指事务执行的结果必须是使数据库从一个一致性状...原创 2020-05-04 22:00:46 · 291 阅读 · 0 评论 -
InnoDB锁
InnoDB锁lock与latch latch一般称为闩锁(轻量级的锁),因为其要求锁定的时间必须非常短。若持续的时间长,则应用的性能会非常差。在InnoDB存储引擎中,latch分为互斥锁(mutex)和读写锁(rwlock)。用来保证并发线程操作临界资源的正确性,并且通常没有死锁检测的机制。 lock的对象是事务,用来锁定的是数据库的对象,例如表、页、行。并且一般lock的对象仅在是...原创 2020-05-04 21:50:54 · 667 阅读 · 0 评论 -
InnoDB存储引擎
InnoDB存储引擎Mysql体系结构数据库:是文件的集合,是依据某种数据模型组织起来并存放于二级存储引擎中的数据集合;数据库实例:是程序,是位于用户和操作系统之间的一层数据库管理软件,用户对数据库的任何操作,包括数据库的定义、数据查询、数据维护、数据库运行控制等都是在数据库实例下进行的,应用程序只有通过数据库实例才能和数据库交互。 Mysql的组成部分:连接池组件管理服务和工具组件SQL接口组件查询解析器组件优化器组件缓冲组件存储引擎物理文件 存储引擎是基于表的,原创 2020-07-14 20:25:43 · 172 阅读 · 0 评论 -
Mysql_InnoDB_行结构和页结构
Mysql_InnoDB_表索引组织表 在InnoDB中,每张表都有主键(Primary Key),表都是按照主键顺序组织存放的,这种存储方式的表成为索引组织表。如果在创建表的过程中没有显示的定义主键,InnoDB会选择或创建主键:首先判断表中是否有非空的唯一索引(Unique not Null),如果存在,那么该列就为主键;如果不存在,InnoDB会自动穿件一个6字节大小的指针。 如果表中有多个非空的唯一索引,InnoDB将选择创建表的时候第一个定义的非空唯一索引为主键。CREATE原创 2020-08-19 16:01:34 · 892 阅读 · 0 评论 -
索引与算法
索引与算法 InnoDB存储引擎支持的索引:B+树索引、全文索引、哈希索引。B+树中的B不是二叉(binary),而且平衡(balance)。B+树是从平衡二叉树演化而来。数据结构与算法二分查找法(binary) 也称为折半查找法,用来查找一组有序记录中的某个值。基本过程:将所有记录有序排序,先以有序序列中的中间点位置为比较对象,如果要找的元素小于中点元素,则将待查部分缩小到左半...原创 2020-04-27 20:24:00 · 453 阅读 · 0 评论 -
关系型数据库的约束机制
关系型数据库的约束机制约束机制提供了一条强大而建议的途径来保证数据库中数据的完整性。数据完整性的三个规则实体完整性 指关系的主属性(就是俗称主键的一些字段,主键的组成部分)不能出现空值和重复的值。在InnoDB存储引擎中,用户可以定义主键(Primary Key)和唯一(Unique Key)约束来保证实体的完整性。域完整性 保证数据每列的值满足特定的条件。InnoDB存储引擎中保...原创 2020-04-27 20:13:29 · 3330 阅读 · 0 评论 -
Mysql_执行计划
执行计划 为了优化Sql语句的执行,需要查看Sql的具体执行过程,以加快Sql语句的执行效率。可以使用explain+sql语句来模拟优化器执行sql查询语句,从而了解mysql是如何处理sql语句的。执行计划中包含的相关信息:属性含义idselect查询的序列号,表示查询中执行select字句或操作表的顺序select_typeselect语句的类型,主要区分普通查询、联合查询、自查询等table表名称type访问类型,以何种方式去访问数据po原创 2020-11-08 11:50:17 · 153 阅读 · 0 评论 -
Mysql_schema和数据类型优化
数据类型的优化更小的通常更好 应该尽量使用可以正确存储数据的最小的数据类型,更小的数据类型通常占用更少的磁盘空间、内存和cpu缓存,并且处理时需要的cpu周期更少,所以处理的更快。但是要确保没有低估需要存储的值的范围。如果无法去儿哪个数据类型,就选择你认为不会超过范围的最小类型即可。简单就好 简单数据类型的操作通常需要更少的cpu处理周期。例如:整型比字符串代价更低,因为字符比较比整型比较更复杂使用mysql自建类型而不是字符串来存储日期和时间用整型存储IP地址(使用mysql的INET原创 2020-11-08 00:53:51 · 176 阅读 · 0 评论 -
Mysql_show_profile
show profile show profile是Mysql提供的分析当前会话中sql语句执行的资源消耗情况的工具。可用于sql调优的测量。默认关闭,并保持最近15此的运行结果。分析过程开启show profile此方式开启之后只存在于当前会话,可以通过修改全局配置set global profiling = on,来开启。通过show profiles查看结果上图中,有每一条sql的执行时间。可以通过show profile针对具体的某一条sql进行具体的分析查看。上原创 2020-11-03 23:44:33 · 147 阅读 · 0 评论 -
Mysql视图和分区表
Mysql视图和分区表视图 视图(View)是一个命名的虚表,由一个SQL查询来定义,可以当作表使用。与持久表不同的是,视图种的数据没有实际的物理存储。作用 主要用途是被用做一个抽象装置,程序不需要关心基础表的结果,只需按照视图定义来读取数据或更新数据。带来如下好处:提高重用性。例如需要经常查询某表中的部分数据。 --将查询的结果存为视图,不用每次再从基础表中进行条件查询。对数据库重构,不影响程序的运行。 --对表的拆分或连接,直接用视图来标识新表的结构,不需要直接操作基础表原创 2020-08-26 21:11:22 · 1045 阅读 · 0 评论 -
Mysql_InnoDB_文件
Mysql_InnoDB_文件Mysql数据库和InnoDB存储引擎存储的文件如下:参数文件日志文件Socket文件pid文件Mysql表结构文件存储引擎文件参数文件 记录数据库文件的位置、初始化参数等。Mysql实例启动时依据这些数据找到数据库文件,并设定相应的参数,这些参数通常定义了某种内存结构的大小等。 Mysql中的数据库参数可以看成一个键值队。比如innodb_buffer_pool_size=2G。其中,键是innodb_buffer_pool_size,值为2G。原创 2020-07-21 21:04:42 · 278 阅读 · 0 评论
分享