Mysql 笔记:

1:可以查看information_schema.index_statistics 来查看索引的使用信息。还可以使用pt-index-usage 这个工具来分析日志再结合explain 来分析使用的索引。

2:innodb 要访问行时会对其加锁,索引可以减少innodb访问的行数。从而减少锁的数量。但这只有当innodb 在存储引擎层能够过渡掉所有不需要的行时才有效,

  如果索引没有办法过滤掉无效的行,那么在innodb 检索到数据并返回给服务器层以后,mysql 服务器层才可以应用where 子句。这里已经没有办法避免行锁定了。

  innodb 已经锁定了这些行,要到合适的时候才会释放。5.1以后的版本会在服务器层执行完where 语句后才放,以前的版本会在事务完成时才释放。这个也可以从

  explain 中看出来 extra : using where。

时间: 2024-08-07 17:01:56

Mysql 笔记:的相关文章

mysql笔记第三天

一下午在学习mysql,最有价值的就是这一点点 Order by 可以对在select字句中出现的字段位置进行排列eg:select name,count(*) from eg group by name order by 2;;这里2的意思跟为count(*)取一个别名是一样的意思, Join(联结)的用法: 将几个表格进行联结,on后面就是搜索的条件,inner join on内联结,left join on 左联结,right右联结,cross join交叉联结(得到的结果是被连接的两个数

mysql笔记3_存储引擎

表的存储引擎类型: MyISAM:应用于读写操作为主,很少更新.删除.并对事物的完整性.并发性要求不高的情况. InnoDB:应用于对事物的完整性要求高,在并发条件下要求数据一致的情况. Memory:标的数据存放在内存中,访问效率高,但一旦服务关闭,表中的数据全部丢失. Merge:是一组MyISAM表的组合,可以突破对单个MyISAM表大小的限制,提高访问效率. mysql笔记3_存储引擎

mysql笔记1_数据库发展史

数据库发展史 萌芽阶段--文件系统 初级阶段--第一代数据库:网状模型.层次模型的数据库. 中级阶段--第二代数据库:关系型数据库和结构化查询语句. 高级阶段--第三代数据库:“关系-对象”型数据库. 数据库管理系统(DBMS) SQL(Strutured Query Language)结构化查询语言 DDL(Data Definition Language)数据定义语言 DML(Data Management Language)数据操作语言.mysql自动提交(auto commit),Ora

【MySQL笔记】SQL语言四大类语言

SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL. 1. 数据查询语言DQL 数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE子句组成的查询块: SELECT <字段名表> FROM <表或视图名> WHERE <查询条件> 具体参看:[MySQL笔记]数据库的查询 2 .数据操纵语言DML INSERT - insert data into a table(插入) UPDATE - upda

mysql笔记5_多表连接

多表连接: 交叉连接(笛卡尔积)cross join(基本上无实际意义,避免). 内连接,即等值连接 inner join...on... 左外连接 left join...on...主表的记录全部显示,如果没有记录则补空.连接左边的表作为主表. 右外连接 right join...on...同左外连接. 全外连接 自连接 主表.从表是同一张表. 子查询:为主查询提供查询数据. mysql笔记5_多表连接

mysql笔记4_函数

常用函数: concat 连接函数  Lower 转小写  upper 转大写  Length 长度 substr  子串  now 当前时间  Year 当前年份... 流程函数: ifnull(column,result1,result2) 判定字段为空则返回result2,不为空则result1. case...when...then...else...end 分支语句. 聚合函数: AVG 平均值  sum 求和  MAX 最大值  MIN 最小值  count[distinct] 统计

mysql笔记6_索引

什么是索引? 数据库中的一个对象. 在数据库中用来加速表的查询. 通过使用快速路径访问方法定位数据,减少了磁盘的i/o. 与表分别独立存放,但不能独立存在,必须属于某个表. 由数据库自动维护,表被删除时,该表上的索引自动别删除. 索引的作用类似于书的目录,几乎没有一本书没有目录,因此几乎没有一张表没有索引. 怎样创建索引: create index 索引名 on 表名(字段名); 使用索引: where之后加上索引字段即可. 索引原理: 索引页 表 index_name|       loc  

mysql笔记7_视图

视图的作用: 可以限制对数据的访问. 可以使复杂的查询变的简单. 提供了数据的独立性. 提供了对相同数据的不同显示. 创建: create view 视图名 as 查询语句 使用: select * from 视图名 删除: drop view 视图名 mysql笔记7_视图

mysql笔记8_数据库设计步骤

step1: 收集信息,与谈系统有关的人员进行交流.座谈,充分了解数据库需要完成的任务. 示例:blog系统 基本功能:发表和编辑文章,多用户支持,全文检索,RSS支持,图片收藏,管理站内短消息. step2: 标识对象(实体Entity) 标识数据库要管理的关键对象或实体. 实体一般是名词: 博主账号:发表和管理文章.图片管理. 文章类别 文章 文章回复 图片分类 图片 连接分类 连接 短消息 step3: 标识每个实体的属性 E-R图(Entity-Relationship) |     符

Mysql 笔记二

Mysql 笔记二 Table of Contents 1. 前言 2. Master Thread 工作方式 2.1. 主循环(loop) 2.2. 后台循(backgroup loop) 2.3. 刷新循环(flush loop) 2.4. 暂停循环(suspend loop) 3. InnoDB关键特性 3.1. 插入缓冲(Insert Buffer) 3.2. 两次写(Double Write) 3.3. 自适应哈希索引(Adaptive Hash Index),默认开启 3.4. 异步