mysql
HJSY
这个作者很懒,什么都没留下…
展开
-
运维操作(四)
1.收缩表空间delete 删除为标记删除,实际文件记录不会删除,新的记录可以覆盖重建表: alter table t engine=InnoDB;原创 2020-08-17 16:48:15 · 88 阅读 · 0 评论 -
锁(三)
全局锁作用:让整个库处于只读状态命令:Flush tables with read lock (FTWRL)全库备份:官方自带的逻辑备份工具是 mysqldump。当 mysqldump 使用参数–single-transaction 的时候,导数据之前就会启动一个事务,来确保拿到一致性视图。而由于 MVCC 的支持,这个过程中数据是可以正常更新的。...原创 2020-08-12 09:28:16 · 163 阅读 · 0 评论 -
mysql索引(二)
索引的常见模型哈希表:利于等值查询,区间查询不利。有序数组:利于等值、区间查询,更新维护成本高。搜索树:多种变种结构满足不同需求。InnoDB 的索引模型在 InnoDB 中,表都是根据主键顺序以索引的形式存放的,这种存储方式的表称为索引组织表。每一个索引在 InnoDB 里面对应一棵 B+ 树。主键索引的叶子节点存的是整行数据。在 InnoDB 里,主键索引也被称为聚簇索引(clustered index)。非主键索引的叶子节点内容是主键的值。在 InnoDB 里,非主键索引也被称原创 2020-08-10 13:56:48 · 106 阅读 · 0 评论 -
Mysql事务(一)
1.事务的启动方式显式启动事务语句, begin 或 start transaction。配套的提交语句是 commit,回滚语句是 rollback。set autocommit=0,这个命令会将这个线程的自动提交关掉。意味着如果你只执行一个 select 语句,这个事务就启动了,而且并不会自动提交。这个事务持续存在直到你主动执行 commit 或 rollback 语句,或者断开连接。2.事务隔离简单实现原理在实现上,数据库里面会创建一个视图,访问的时候以视图的逻辑结果为准。在“可重原创 2020-08-10 10:55:22 · 87 阅读 · 0 评论 -
mysql数据库锁
表锁读锁会阻塞写,但是不会阻塞读操作。而写锁则会把读和写都阻塞聚簇和非聚簇索引MyISAM索引结构: MyISAM索引用的B+ tree来储存数据,MyISAM索引的指针指向的是键值的地址,地址存储的是数据。B+Tree的数据域存储的内容为实际数据的地址,也就是说它的索引和实际的数据是分开的,只不过是用索引指向了实际的数据,这种索引就是所谓的非聚集索引。因此,过程为: MyISAM中索引...原创 2019-11-29 15:20:22 · 63 阅读 · 0 评论 -
查询优化
索引全值匹配;最佳最前缀法则;不在索引列上做任何操作(计算、函数、自动或者手动的类型转换<如:varchar 类型的值不加单引号>);存储引擎不能使用索引中范围条件右边的列;尽量使用覆盖索引(索引列和查询列一致),减少select * ;使用不等于(!=或者<>)的时候无法使用索引;is null ,is not null 也无法使用索引;like 以通配符...原创 2019-11-20 14:30:21 · 66 阅读 · 0 评论 -
mysql explain信息解释
id 查询顺序 表读取顺序相同,顺序;不同,从大到小select_type 查询类型 数据读取操作的操作类型simple 简单查询,不包含子查询或者unionprimary 查询中如果包含任何子查询,则最外层查询被标记subquery select或where列表中包含了子查询derived from列表中的子查询,递归执行这些查询,结果放在临时表中union 如果...原创 2019-11-07 23:46:41 · 82 阅读 · 0 评论