MySQL高级02】的更多相关文章

索引简介 索引(Index)是帮助MySQL高效获取数据的数据结构.可以得到索引的本质:索引是数据结构.你可以简单理解为“排好序的快速查找数据结构”. 在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法.这种数据结构,就是索引.下图就是一种可能的索引方式示例: 左边是数据表,一共有两列七条记录,最左边的是数据记录的物理地址 为了加快Col2的查找,可以维护一个右边所示的二叉查找树,每个节点分别包含索引键值和…
MySQL 高级部分   (1)索引(index)..................................................................... 1 (2).......................................................................... 视图(view)2 (3)触发器(trigger)..................................................…
MySQL高级(进阶)SQL语句 目录 MySQL高级(进阶)SQL语句 一.实例准备--制表 1. 表1(商店区域表) 2. 表2(商店销售表) 3. 表3(城市表) 4. 表4(total_sales) 二.SQL语句 1. select 2. distinct 3. where 4. and|or 5. in 6. between 7. limit 8. 通配符 9. like 10. order by 三.函数 1. 数学函数 (1)abs(x) (2)rand() (3)mod(x,y…
MySQL高级特性 1. 分区表:分区表是一种粗粒度的.简易的索引策略,适用于大数据量的过滤场景.最适合的场景是,在没有合适的索引时,对几个分区进行全表扫描,或者是只有一个分区和索引是热点,而且这个分区和索引 能够在内存中:限制单表分区数不要超过150个,并且注意某些导致无法分区过滤的细节,分区表对单条记录的查询并没有什么优势,需要注意这类查询的性能. 1). 对于用户来说,分区表是一个独立的逻辑表,但是底层由多个物理子表组成.实现分区的代码实际上是对一组底层表的句柄对象(Handler)的封装…
原文:Mysql高级之权限检查原理 用户进行数据库操作分为两步: 1 是否有权限连接,根据host,name,password: 2 是否有权限进行CURD: 图示解说: 关于用户权限在哪里进行存放? 这样看: mysql数据库里面有张user表: 就像普通CURD一样,这就可以登录控制啦! 注意在User表里面权限是全局性质的, 如果想针对某个表进行控制怎么办?记得db表吧,就是在这, 就不细说了:…
原文:Mysql高级之触发器 触发器是一类特殊的事务 ,可以监视某种数据操作(insert/update/delete),并触发相关操作(insert/update/delete). 看以下事件: 完成下单与减少库存的逻辑 Insert into o (gid,num) values (2,3);  // 插入语句 Update g set goods_num = goods_num - 3 where id = 2;// 更新过程 这两个逻辑可以看成一个整体,或者说, insert ---> …
原文:Mysql高级之事务 通俗的说事务: 指一组操作,要么都成功执行,要么都不执行.---->原子性 在所有的操作没有执行完毕之前,其他会话不能够看到中间改变的过程-->隔离性 事务发生前,和发生后,数据的总额依然匹配----->一致性 事务产生的影响不能够撤消------>持久性 如果出了错误,事务也不允许撤消, 只能通过"补偿性事务" 转账 李三: --->支出 500, 李三 -500 赵四: ---->收到500, 赵四 +500 关于事务…
原文:Mysql高级之索引 索引:是针对数据所建立的目录. 作用: 可以加快查询速度 负面影响: 降低了增删改的速度. 索引的创建原则: 1:不要过度索引 2:在where条件最频繁的列上加.在重复度高的列上不加,比如性别男女: 3:尽量索引散列值,过于集中的值加索引意义不大. 索引的类型 普通索引: index 仅仅是加快查询速度. 唯一索引: unique index 行上的值不能重复 主键索引: primary key 不能重复. 主键必唯一,但是唯一索引不一定是主键. 一张表上,只能有一…
原文:Mysql高级之游标 什么是游标?select 语句也许一次性会取出来n条语句,那么游标便可以一次取出来select中的一条记录.每取出来一条,便向下移动一次!可以实现很复杂逻辑! 上面还有有一个问题,会多出来一条记录,怎样搞定? 原因在于continue,而不是选择exit: 如果用continue不行吗?是可以的,没发现上面带有逻辑上有点小问题吗?这样解决:调节一下顺序 可见有n多种方法,不就是语法问题吗!…
原文:Mysql高级之主从复制 主从复制不就是多台服务器嘛!,一个改变另一个也改变啦,内容其实都一样! 原理: 对数据库进行操作会生成一个文件,binlog(二进制文件),从服务器配置relaylog文件,用来读取master里面binlog(有必要开启binlog,相当于备份),当然要有权限读取是吧,这就需要用到上次的权限配置啦!和普通登录没什么差别. 主做出什么动作,从也做出什么动作. 这时就需要注意主配置文件里面binlog-format ,里面值为row,二进制记录是磁盘变化:值为sta…