注册 登录
  • 欢迎访问"运维那点事",推荐使用Google浏览器访问,可以扫码关注本站的"微信公众号"。
  • 如果您觉得本站对你有帮助,那么可以扫码捐助以帮助本站更好地发展。

标签:MySQL进阶

MySQL

MySQL事件调度器(event_scheduler)

一、事件介绍 事件调度器是定时触发执行的,在这个角度上也可以称作是”定时的触发器”。触发器只是针对某个表产生的事件执行一些语句,而事件调度器则是在某一个(间隔)时间执行特定的语句/存储过程。事件是由一个特定的线程来管理的,也就是所谓的”事件调度器”。启用事件调度器后,拥有SUPER权限的账户执行SHOW PRO……继续阅读 »

彭东稳 3个月前 (09-30) 764浏览 0评论 0个赞

MySQL

数据库水平切分架构实践

单Key业务,数据库水平切分架构实践 本文将以“用户中心”为例,介绍“单KEY”类业务,随着数据量的逐步增大,数据库性能显著降低,数据库水平切分相关的架构实践: 如何来实施水平切分 水平切分后常见的问题 典型问题的优化思路及实践 一、用户中心 用户中心是一个非常常见的业务,主要提供用户注册、登录、信息查询与修改的服务,其核心元数据为: User(uid,……继续阅读 »

彭东稳 1年前 (2017-10-10) 6577浏览 0评论 5个赞

MySQL

MySQL存储引擎之Federated使用

一、FEDERATED存储引擎的描述 MySQL提供了一个类似Oracle中的数据库链接(DBLINK)功能的存储引擎–FEDERATED。当我们创建一个以FEDERATED为存储引擎的表时,服务器在数据库目录只创建一个表定义文件。文件由表的名字开始,并有一个frm扩展名。无其它文件被创建,因为实际的数据在一个远程数据库上。这不同于为本地表工作的……继续阅读 »

彭东稳 2年前 (2017-05-03) 6808浏览 0评论 2个赞

MySQL

数据库设计范式与反范式

数据库规范化,又称数据库或资料库的正规化、标准化,是数据库设计中的一系列原理和技术,以减少数据库中数据冗余,增进数据的一致性。关系模型的发明者埃德加·科德最早提出这一概念,并于1970年代初定义了第一范式、第二范式和第三范式的概念,还与Raymond F. Boyce于1974年共同定义了第三范式的改进范式——BC范式。 除外还包括针对多值依赖的第四范式,连……继续阅读 »

彭东稳 2年前 (2017-04-20) 4567浏览 0评论 3个赞

MySQL

MySQL表分区详解

一、MySQL分区表介绍 分区是一种表的设计模式,正确的分区可以极大地提升数据库的查询效率,完成更高质量的SQL编程。但是如果错误地使用分区,那么分区可能带来毁灭性的的结果。 分区功能并不是在存储引擎层完成的,因此不只有InnoDB存储引擎支持分区,常见的存储引擎MyISAM、NDB等都支持分区。但是并不是所有的存储引擎都支持,如CSV、FEDORATED、……继续阅读 »

彭东稳 2年前 (2017-02-27) 6588浏览 0评论 9个赞

MySQL

从原则、方案、策略及难点阐述分库分表

一、分库分表原则 关系型数据库本身比较容易成为系统性能瓶颈,单机存储容量、连接数、处理能力等都很有限,数据库本身的“有状态性”导致了它并不像Web和应用服务器那么容易扩展。在互联网行业海量数据和高并发访问的考验下,聪明的技术人员提出了分库分表技术(有些地方也称为Sharding、分片)。同时,流行的分布式系统中间件(例如MongoDB、ElasticSear……继续阅读 »

彭东稳 2年前 (2017-02-27) 13490浏览 1评论 14个赞

MySQL

MySQL交换分区使用

MySQL 5.6开始支持ALTER TABLE … EXCHANGE PARTITION语句。该语句允许分区或子分区中的数据与另一个非分区的表中的数据进行交换。如果非分区表中的数据为空,那么相当于将分区中的数据移动到非分区表中。若分区表中的数据为空,则相当于将外部表中的数据导入到分区中。 要使用ALTER TABLE … EXCHA……继续阅读 »

彭东稳 3年前 (2016-05-26) 4693浏览 0评论 3个赞

MySQL

MySQL触发器(trigger)

一、触发器介绍 MySQL的触发器和存储过程一样,都是嵌入到MySQL的一段程序,触发器是个特殊的存储过程。它们不同的是执行存储过程要使用CALL语句来调用,而触发器是由事件来触发某个操作,这些事件包括INSERT、UPDATE和DELETE语句。如果定义了触发程序,当对表执行INSERT、DELETE或UPDATE语句时,将激活触发程序。可以将触发程序设计……继续阅读 »

彭东稳 3年前 (2016-04-09) 7455浏览 0评论 2个赞

MySQL

MySQL视图(view)

一、视图的含义 在MySQL数据库中,视图(view)是一个命名的虚拟表,它由一个SQL查询来定义,或者说视图是从数据库中一个或多个表中导出来的表,并且视图还可以从已经存在的视图的基础上定义。视图可以当表使用,对视图的操作与对表的操作一样,可以对其进行查询、修改和删除。当对通过视图看到的数据进行修改时,相对的基本表的数据也要发送变化;同时,若基本表的数据发送……继续阅读 »

彭东稳 3年前 (2016-04-09) 5278浏览 0评论 4个赞

MySQL

MySQL存储过程和存储函数(二)

一、流程控制的使用 在存储过程中可以定义流程控制语句,流程控制语句用来根据条件控制语句的执行,MySQL中的用来构造控制流程的语句有:IF语句、CASE语句、LOOP语句、WHILE语句、LEAVE语句、ITERATE语句和REPEAT语句。每个流程中可能包含一个单独语句,或者是使用BEGIN…END构造的复合语句,构造可以被嵌套。下面介绍这些流程控制语句 ……继续阅读 »

彭东稳 3年前 (2016-04-09) 3913浏览 0评论 0个赞

MySQL

MySQL存储过程和存储函数(一)

一、存储过程与函数介绍 简单地说,存储过程就是一条或者多条SQL语句的集合,可视为批文件,但是其作用不仅限于批处理。 存储程序可以分为存储过程和函数,MySQL中创建存储过程和函数使用的语句分别是CREATE PROCEDURE和CREATE FUNCTION。 MySQL存储过程和函数有什么区别?在本质上他们都是存储程序,函数只能通过return语句返回单……继续阅读 »

彭东稳 3年前 (2016-04-09) 5351浏览 0评论 0个赞