51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Mysql

[MySQL优化案例]系列 — RAND优化

[MySQL优化案例]系列 — RAND优化

厉飞雨 阅读(267) 评论(0) 赞(17)

<p>众所周知,在MySQL中,如果直接 ORDER BY RAND() 的话,效率非常差,因为会多次执行。事实上,如果等值查询也是用 RAND() 的话也如此,我们先来看看下面这几个SQL的不同执行计划和执行耗时。</p> <p>首先,看下建表DDL,这是一个没有显式自增主键的InnoDB表:</p> <pre>&l...

MYSQL外键(Foreign Key)的使用

MYSQL外键(Foreign Key)的使用

厉飞雨 阅读(306) 评论(0) 赞(32)

<p>在MySQL 3.23.44版本后,InnoDB引擎类型的表支持了外键约束。</p> <p>外键的使用条件:</p> <ol> <li> <p>两个表必须是InnoDB表,MyISAM表暂时不支持外键(据说以后的版本有可能支持,但至少目前不支持);</p> </li>...

三个流行MySQL分支的对比

三个流行MySQL分支的对比

厉飞雨 阅读(243) 评论(0) 赞(21)

导读:尽管MySQL是最受欢迎的程序之一,但是许多开发人员认为有必要将其拆分成其他项目,并且每个分支项目都有自己的专长。该需求以及 Oracle对核心产品增长缓慢的担忧,导致出现了许多开发人员感兴趣的子项目和分支。本文将讨论受人们关注的三个流行MySQL分支:Drizzle、 MariaDB和Percona Server(包括XtraDB引擎)。文中简要介绍每个分支出现...

如果对MySQL还停留在这个印象,就out了

如果对MySQL还停留在这个印象,就out了

厉飞雨 阅读(283) 评论(0) 赞(17)

<p>如何对MySQL还停留在这个印象,就out了</p> <blockquote> <p>错误印象一:InnoDB存储引擎适合写密集型应用,MyISAM适合读密集型应用</p> <p>回答:这个问题大该在8,9年前,也就是2005年的时候在论坛是非常有争论的话题,而上述答案算是在那个年代的一种总结。其实这...

mysql查询优化之索引类型 最左前缀

mysql查询优化之索引类型 最左前缀

厉飞雨 阅读(257) 评论(0) 赞(17)

<p>一、什么是索引?</p> <p>索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记...

mysql中int、bigint、smallint 和 tinyint的区别

mysql中int、bigint、smallint 和 tinyint的区别

厉飞雨 阅读(266) 评论(0) 赞(17)

使用整数数据的精确数字数据类型。 **bigint** 从 -2\^63 (-9,223,372,036,854,775,808) 到 2\^63-1 (9,223,372,036,854,775,807) 的整型数据(18位)。存储大小为 8 个字节。 **int** 从 -2\^31 (-2,147,483,648) 到 2\^31 - 1 (2,147,483,6...

MySQL 高可用架构在业务层面的分析研究

MySQL 高可用架构在业务层面的分析研究

厉飞雨 阅读(285) 评论(0) 赞(18)

<p>相对于传统行业的相对服务时间9x9x6或者9x12x5,因为互联网电子商务以及互联网游戏的实时性,所以服务要求7*24小时,业务架构不管是应用还是数据库,都需要容灾互备,在mysql的体系中,最好通过在最开始阶段的数据库架构阶段来实现容灾系统。所以这里从业务宏观角度阐述mysql架构的方方面面.</p> <p>一,MySQL架构设计--...

mysql数据库主从同步复制原理

mysql数据库主从同步复制原理

厉飞雨 阅读(272) 评论(0) 赞(17)

<p>MySQL的Replication(英文为复制)是一个多MySQL数据库做主从同步的方案,特点是异步复制,广泛用在各种对MySQL有更高性能、更高可靠性要求的场合。与之对应的是另一个同步技术是MySQL Cluster,但因为MySQL Cluster配置比较复杂,所以使用者较少。</p> <p>MySQL的 Replication是一...

mySQL优化, my.ini 配置说明

mySQL优化, my.ini 配置说明

厉飞雨 阅读(260) 评论(0) 赞(13)

\[mysqld\] port = 3306 serverid = 1 socket = /tmp/mysql.sock skip-name-resolve > 禁止MySQL对外部连接进行DNS解析 skip-grant-tables > 禁止MySQL对外部连接进行DNS解析,使用这一选项可以消除MySQL进行DNS解析的时间。但需要注意,如果开...

mysql正则匹配模糊查询某个字段

mysql正则匹配模糊查询某个字段

厉飞雨 阅读(239) 评论(0) 赞(20)

<p>我们在查询某个字段的时候,有时候只想匹配某段数据,比如想查询这篇文章的所有关键词是否存在某个关键词,我们往往需要匹配,我们下面来讲解一下如何匹配查询某个关键词值</p> <p>SQL模糊查询的语法为</p> <p><code>&quot;SELECT column FROM table WHE...