随笔分类 - MySQL
摘要:前言 explian/desc可以帮助我们分析sql语句,写出高效sql语句,让mysql查询优化器可以更好的工作。 mysql查询优化器会尽可能的使用索引,优化器排除的数据行越多,mysql找到匹配数据行就越快。 用法 explain/desc + sql explain select * fro
阅读全文
摘要:BTree特性 BTree又叫多路平衡查找树,一颗m叉的BTree特性如下: 树中每个节点最多包含m个孩子。 除根节点与叶子节点外,每个节点至少有[ceil(m/2)]个孩子。 若根节点不是叶子节点,则至少有两个孩子。 所有的叶子节点都在同一层。 每个非叶子节点由n个key与n+1个指针组成,其中[
阅读全文
摘要:区别 MyISAM基于ISAM存储引擎,并对其进行扩展,不支持事务。 InnoDB给mysql提供了事物提交、回滚等事物安全的存储引擎。 MyISAM采用表级锁。表级锁开销小,加锁快,锁粒度大,冲突概率高,并发度低,不会出现死锁。 InnoDB支持表级锁与行级锁,默认为行级锁。行级锁开销大,加锁慢,
阅读全文
摘要:一、创建表并初始化数据 1、表说明 student(学生表)、teacher(教师表)、course(课程表)、sc(分数表) 2、创建表 3、插入初始化数据 二、SQL语句
阅读全文
摘要:DDL:数据库定义语句,用来创建数据库中的表、索引、视图、存储过程、触发器等 CREATE,ALTER,DROP,TRUNCATE,COMMENT,RENAME DML:数据操纵语句,用来查询、添加、更新、删除等 SELECT,INSERT,UPDATE,DELETE,MERGE,CALL,EXPLAIN PLAN,LOCK TABLE DCL:数据控制语句,用于授权/撤销数据库...
阅读全文
摘要:union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序; union All:对两个结果集进行并集操作,包括重复行,不进行排序; 下面进行简单的测试(因为是测试,所以sql代码写的很简单,没有什么很严格的规范,只是为了理解这两者之间的区别) 严格的标准写法应该先判断数据库是否存在
阅读全文
摘要:Explain简介 本文主要讲述如何通过 explain 命令获取 select 语句的执行计划,通过 explain 我们可以知道以下信息:表的读取顺序,数据读取操作的类型,哪些索引可以使用,哪些索引实际使用了,表之间的引用,每张表有多少行被优化器查询等信息。 下面是使用 explain 的例子:
阅读全文
摘要:1、MyISAM:默认表类型,它是基于传统的ISAM类型,ISAM是Indexed Sequential Access Method (有索引的顺序访问方法) 的缩写,它是存储记录和文件的标准方法。不是事务安全的,而且不支持外键,如果执行大量的select,insert MyISAM比较适合。 2、
阅读全文
摘要:= 水平分区(根据列属性按行分)=举个简单例子:一个包含十年发票记录的表可以被分区为十个不同的分区,每个分区包含的是其中一年的记录。 水平分区的模式: 垂直分区(按列分): 举个简单例子:一个包含了大text和BLOB列的表,这些text和BLOB列又不经常被访问,这时候就要把这些不经常使用的tex
阅读全文
摘要:MySQL的Replication(英文为复制)是一个多MySQL数据库做主从同步的方案,特点是异步复制,广泛用在各种对MySQL有更高性能、更高可靠性要求的场合。 与之对应的是另一个同步技术是MySQL Cluster,但因为MySQL Cluster配置比较复杂,所以使用者较少。 Mysql U
阅读全文
摘要:概述 为什么要优化 系统的吞吐量瓶颈往往出现在数据库的访问速度上 随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢 数据是存放在磁盘上的,读写速度无法和内存相比 如何优化 设计数据库时:数据库表、字段的设计,存储引擎 利用好MySQL自身提供的功能,如索引等 横向扩展:MySQL集
阅读全文