数据库
文章平均质量分 90
SKTT1丶faker
好好学习,天天向上
展开
-
事务
概述 事务是一组原子性的SQL查询,或者说一个独立的工作单元,如果数据库引擎能够成功执行改组查询的全部语句,就执行该组查询,否则,只要有一条语句崩溃或因其他原因无法执行,那么所有语句都不执行。 可以用START TRANSACTION开始一个事务,然后用COMMIT提交事务将修改的数据持久保留,或者用ROLLBACK撤销所有的修改。 事务的ACID特性 原子性(atomicity)...原创 2018-08-31 18:20:18 · 158 阅读 · 0 评论 -
索引
概述 索引(键)是存储引擎用于快速找到记录的一种数据结构。索引对于良好的性能非常关键,尤其当表中的数据量越来越大时,索引对性能的影响愈发重要。索引优化是对查询性能优化最有效的手段,索引能够轻易地将查询性能提高几个数量级,创建最优的索引经常需要重写查询。 在MySQL中,根据索引查询时,存储引擎首先在索引中找到对应值,然后根据匹配的索引记录找到对应的数据行。索引可以包含一个或多个列的值,如果索引...原创 2018-09-02 17:06:25 · 191 阅读 · 0 评论 -
视图
视图 MySQL5.0版本之后开始引入视图,视图本身是一个虚拟表,不存放任何数据,在使用SQL语句访问视图的时候,它返回的数据是MySQL从其他表中生成的。视图和表是在同一个命名空间,MySQL在很多地方对于视图和表是同样对待的。不过视图和表也有不同,如不能对视图创建触发器,也不能使用DROP TABLE命令删除视图。 视图的创建: /** *REPLACE:替换已有视图 *AL...原创 2018-09-02 21:35:32 · 189 阅读 · 0 评论 -
在MySQL内部存储代码
概述 MySQL允许通过触发器、存储过程、函数的形式来存储代码。从5.1开始,还可以在定时任务中存放代码,这个定时任务也称为事件。存储过程和存储函数都被统称为存储程序。这四种存储代码都使用特殊的SQL语句扩展,它包含了很多过程处理语法,例如循环和条件分支等。不同类型的存储代码的主要区别在于其执行的上下文——也就是其输入和输出。存储过程和存储函数都可以接收参数然后返回值,但是触发器和事件却不行。 ...原创 2018-09-02 23:41:36 · 1129 阅读 · 0 评论 -
MySQL优化特定类型查询
优化COUNT()查询 COUNT()的作用 COUNT()是一个特殊的函数,有两种非常不同的作用:他可以统计某个列值的数量,也可以统计行数。在统计列值时要求列值是非空的(不统计NULL)。如果在COUNT()的括号中指定了列或者列的表达式,则统计的就是这个表达式有值的结果数。 COUNT()的另一个作用是统计结果记得行数。当MySQL确认括号内的表达式值不可能为空时,实际上就是在统计行...原创 2018-09-05 14:11:48 · 295 阅读 · 0 评论 -
Mysql Schema优化
范式和反范式 范式是符合某一种级别的关系模式的集合。关系数据库中的关系必须满足一定的要求,满足不同程度要求的为不同范式。目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、Boyce-Codd范式(BCNF)、第四范式(4NF)和第五范式(5NF)。满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多要求的称为第二范式(2NF),其余范式以次...原创 2018-09-03 18:16:34 · 743 阅读 · 0 评论