mysql
朗里格儿浪
这个作者很懒,什么都没留下…
展开
-
mysql查询优化器的错误执行和优化处理类型
查询优化器一.导致优化器选择错误的执行计划的原因1.统计信息不准确2.执行计划中的成功估算不等同于实际执行的成本3.MySQL是基于成本模型选择最优的计划4.MySQL不考虑其他的并发执行的查询5.MySQL 不是任何时候都是基于成本的优化6.MySQL 不会考虑其不受控制的操作的成本7.无法估算所有可能的执行计划二.优化策略的分类 1.静态优化(编译时优化) 2.动态优化(运行时优化)三.M...原创 2019-12-09 15:59:30 · 884 阅读 · 0 评论 -
查询状态
查询状态1.查询指令 利用show full processlist 指令查看mysql当前所有的线程正在执行的状态(结果集中Command列表示当前状态)2.字段解释 Id:相当于序列号 User: 显示当前线程的用户 host:显示这个语句是从哪个ip地址上发来的 db: 目前连接的数据库 Command: 当前线程的状态 Time: 持续的时间(s) 3...原创 2019-12-04 19:09:34 · 776 阅读 · 0 评论 -
mysql查询执行路径
查询执行路径1.客户端发送一条查询给服务器2.服务器先检查查询缓存,如果命中了缓存,则立刻返回存储再缓存中的结果.否则进入下一步阶段.3.服务器端进行SQL解析,预处理,再由优化器生成对应的执行计划4.MySQL根据优化器生成的执行计划,调用存储引擎的API来执行查询5.将结果返回给客户端...原创 2019-12-04 17:03:26 · 386 阅读 · 0 评论 -
explain 的使用和解析
explain 的使用和解析一.作用二.示例三.解析1.id(两种情况)2.select_type3.table4.partitions5.type6.possible_keys7.key8.key_len9.ref10.rows11.filtered12.Extra一.作用 使用explain这个命令去查看一个这些SQL语句,查看查询中表的读取顺序,查询类型,可以使用的索引,正在使用的索引...原创 2019-12-03 11:27:55 · 176 阅读 · 0 评论 -
高性能的索引策略
高性能的索引策略 ---- 一索引的优点高性能的索引策略---真正的发挥这些索引的优势1.独立的列2.前缀索引和索引选择性3.多列索引索引的优点 1.索引大大减少了服务器需要扫描的数量 2.索引可以帮助服务器避免排序和临时表 3.索引可以将随机I/O变成顺序I/O高性能的索引策略—真正的发挥这些索引的优势1.独立的列 如果查询中的列不是独立的,则MySQL就不能使用索引.独立...原创 2019-11-17 17:07:05 · 132 阅读 · 0 评论 -
B-Tree 索引的相关介绍
B-Tree索引一.概念二.二叉树和平衡二叉树三.B-Tree索引的查询类型1.全值匹配2.匹配最左前缀3.匹配列前缀4.匹配范围值5.精确匹配某一列并范围匹配另外一列6.只访问索引的查询四.B-Tree索引的限制1.只能匹配最左前缀2.不能跳过索引中的列3.范围查找右边的列都不能使用索引一.概念 B-Tree(多路搜索树,并不是二叉的),是一种常见的数据结构.使用B-Tree结构可以显著减...原创 2019-11-08 15:10:29 · 187 阅读 · 0 评论 -
哈希索引的介绍和应用
哈希索引一.哈希表1.概念二.哈希索引1.概念2.举例3.哈希索引的限制三.自定义哈希索引 1.创建思路 2.示例 3.触发器维护 4.截取MD5()函数返回值一.哈希表1.概念 哈希表又称散列表(Hash table),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,...原创 2019-11-08 11:53:35 · 1180 阅读 · 1 评论 -
mysql 常见指令
mysql常见指令一.控制台连接数据库二.DDL(Data Definition Language)数据定义语言1.创建数据库 2.显示所有数据库3.显示创建数据库的定义信息 4.修改数据库的定义格式 5.删除数据库 6.查看正在使用的数据库 7.使用/切换数据库 8.创建表格式 9.快速创建一个和表结构相同的表10.查看使用的数据库中所有的表 11.查看表结构 12.查看创建表...原创 2019-11-06 11:30:10 · 428 阅读 · 1 评论