网投网站如何建设,wordpress是h5页面跳转,ui设计发展前景及未来,湖北专业网站建设质量保障上一篇主要介绍一些基础的mysql知识点#xff0c;这一篇我们介绍一下mysql比较重要但在开发中我们程序员很少知道的几个大点(自以为是的观点)。数据库设计三范式#xff1a;第一范式#xff1a;数据库表的每一列都是不可分割的原子数据项#xff0c;即列不可拆分。第二范式…上一篇主要介绍一些基础的mysql知识点这一篇我们介绍一下mysql比较重要但在开发中我们程序员很少知道的几个大点(自以为是的观点)。数据库设计三范式第一范式数据库表的每一列都是不可分割的原子数据项即列不可拆分。第二范式建立在第一范式的基础上要求数据库表中的每个实例或记录必须是可以唯一被区分的即唯一标识。第三范式建立在第二范式的基础上任何非主属性不依赖与其他非主属性即引用主键。视图视图是虚拟表并不储存数据只包含定义时的语句的动态数据。create view view_name as sql查询语句存储过程一条或多条sql语句集合其优点为(浓缩简单/安全/高性能)存储过程能实现较快的执行速度存储过程允许标准组件是编程。存储过程可以用流程控制语句编写有很强的灵活性可以完成复杂的判断和较复杂的运算。存储过程可被作为一种安全机制来充分利用。存储过程能够减少网络流量delimiter 分隔符create procedure|proc proc_name()beginsql语句end 分隔符delimiter --还原分隔符为了不影响后面的语句的使用默认的分隔符是但是为了能在整个存储过程中重用因此一般需要自定义分隔符(除\外)show procedure status like ; --查询存储过程可以不适用like进行过滤drop procedure if exists--删除存储过程存储过程和函数的区别?相同点存储过程和函数都是为了可重复的执行操作数据库的 sql 语句的集合。1)存储过程和函数都是一次编译就会被缓存起来下次使用就直接命中已经编译好的 sql 语句不需要重复使用。减少网络交互减少网络访问流量。不同点标识符不同函数的标识符是 function存储过程是 proceduce。1)函数中有返回值且必须有返回值而过程没有返回值但是可以通过设置参数类型(in,out)来实现多个参数或者返回值。2)存储函数使用 select 调用存储过程需要使用 call 调用。3)select 语句可以在存储过程中调用但是除了 select..into 之外的 select 语句都不能在函数中使用。4)通过 in out 参数过程相关函数更加灵活可以返回多个结果。触发器在对表数据进行变动的时候进行具体的操作有六种分别为增删改的前后操作。create trigger trigger_nameALTER|BEFORE select|update|deleteon 表for each rowtrigger_stmt重点只有表才支持触发器视图和临时表都不支持触发器不支持更新和覆盖修改必须先删除然后创建分区表分区表是将大表的数据分成称为分区的许多小的子集常见分区类型Range、List、Hash、Key查看是否支持分区表 show plugins如果有partition就说明支持在创建表时字符集后增加 partition by 分区类型(字段) partitions 4;添加分区 alter table 表 add partition (partition p4 values less than(2018))交换分区对数据进行归档条件mysql5.7 结构相同 归档到的数据表一定要是非分区表 非临时表不能有外键约束 归档引擎要是archive可以是innodb但归档引擎占用空间更小但只能是查询操作删除分区alter table 分区表 drop partition 分区名归档分区alter table 分区表 exchange partition 分区名 with table 归档表RANGE 分区基于属于一个给定连续区间的列值把多行分配给分区。partition by RANGE(字段)( partition p0 VALUES LESS THAN(10000),...PARTITION p3 VALUESLESS THAN MAXVALUE);不包括上限LIST 分区类似于按 RANGE 分区区别在于 LIST 分区是基于列值匹配一个离散值集合中的某个 值来进行选择。partition by list(字段)(partition p0 values in (x,x,x,x)...);HASH 分区基于用户定义的表达式的返回值来进行选择的分区该表达式使用将要插入到表中的 这些行的列值进行计算。这个函数可以包含MySQL 中有效的、产生非负整数值的任何表达式。partition by hash(字段) partitions 4(PARTITION p0,PARTITION p1,PARTITION p2,PARTITION p3);KEY 分区类似于按 HASH 分区区别在于 KEY 分区只支持计算一列或多列且 MySQL 服务器提供其自身的哈希函数。必须有一列或多列包含整数值。partition by hash(字段) partitions 4(PARTITION p0,PARTITION p1,PARTITION p2,PARTITION p3);日志Mysql主要有四种日志文件错误日志记录启动运行或者停止 mysql 时出现的问题查询日志记录所有msyql的活动二进制日志记录更新过数据的所有语句缓慢查询日志记录查询缓慢的任何查询Archive引擎这是一个只用于数据插入和查询的引擎其特点为只能对数据进行插入和查询不支持索引不支持事务存储数据占用空间更小STRAIGHT_JOIN在对多表连接的查询中 MySQL优化器要确定以谁为驱动表也就是说以哪个表为基准在处理此类问题时MySQL优化器采用了简单粗暴的解决方法哪个表的结果集小就以哪个表为驱动表 使用STRAIGHT_JOIN可以指定以左表为驱动表。