
MySql数据库
个人知识管理布道师
这个作者很懒,什么都没留下…
展开
-
使用MYSQL实现Oracle的Start with...Connect By递归树查询
参考链接http://51wifygoo1go.blog.51cto.com/6455479/1122729转载 2016-06-01 01:13:45 · 7225 阅读 · 0 评论 -
MySQL SQL语句优化的10条建议
参考链接:http://www.jb51.net/article/47550.htm转载 2016-06-05 21:50:43 · 358 阅读 · 0 评论 -
MySQL使用一条INSERT语句插入多条记录
注意:使用一条INSERT语句来插入多条记录。这并不是标准的SQL语法,因此只能在MySQL中使用。参考链接http://database.51cto.com/art/201010/229046.htm官方链接https://dev.mysql.com/doc/refman/5.5/en/insert.html同理也解释了insert into table_B select * fr转载 2016-06-05 12:23:16 · 6302 阅读 · 0 评论 -
MySQL慢查询的定位与优化
参考链接:http://orangeholic.iteye.com/blog/1700509英文链接:https://www.dreamhost.com/blog/2013/08/19/mysql-checking-the-slow-query-log-and-simple-indexing/ https://www.percona.com/blog/2转载 2016-06-05 23:11:16 · 1396 阅读 · 0 评论 -
关于MySQL数据库的MyISAM引擎的定时碎片整理.
参考链接http://www.tuicool.com/articles/3MfiErb转载 2016-06-12 21:13:35 · 892 阅读 · 0 评论 -
MySQL主从复制原理图
原创 2016-06-29 01:57:06 · 512 阅读 · 0 评论 -
MySQL垂直分割示例
垂直分割的概念1 把某个表的某些字段,这些字段,在查询时,并不关心,但是 该字段数据量很大(很长的字符串等情形),我们可以把这些字段单独的放到例外一张表,从而提高检索效率.示例示例说明:在查询某名学生的某到题目的得分时,我们并不关心他对这道题的所作的回答,因此可将answer字段分割出来.原创 2016-06-14 21:01:43 · 792 阅读 · 0 评论 -
MySQL水平分割示例
注意:应该根据业务的需求,找到分表的标准,并在检索页面,约束用户的检索方式.如果有大表检索的需求,也是少数的.原创 2016-06-13 21:27:07 · 1374 阅读 · 0 评论 -
MySQL字符集的校对规则(collation rule)
参考链接:http://dev.mysql.com/doc/refman/5.7/en/charset-collation-effect.html原创 2016-06-15 01:14:08 · 437 阅读 · 0 评论 -
MySQl中关于Cardinality的理解
Cardinality的定义:In SQL (Structured Query Language), the term cardinality refers to the uniqueness of data values contained in a particular column (attribute) of a database table. The lower the原创 2016-06-18 16:47:56 · 3563 阅读 · 0 评论 -
MySQL读写分离原理图
注意:图中的mysqlproxy有一些提到方案,如:Amoeba等等.原创 2016-06-14 23:03:15 · 2723 阅读 · 0 评论 -
关于mysql 索引自动优化机制: 索引选择性(Cardinality:索引基数)
参考链接:http://blog.youkuaiyun.com/zheng0518/article/details/50561761转载 2016-06-18 17:16:40 · 1733 阅读 · 0 评论 -
MySQL列类型总结
参考链接:http://dev.mysql.com/doc/refman/5.7/en/data-types.html原创 2016-06-18 22:28:29 · 544 阅读 · 0 评论 -
MySQ的列类型的选择原则
原创 2016-06-19 17:01:22 · 361 阅读 · 0 评论 -
MySQL存储引擎的比较
1 myisam存储:如果表对事务要求不高,同时是以查询和添加为主,我们考虑使用myisam存储引擎.比如bbs中的发帖表,回复表.2 innodb 存储:对事务要求高,保存的数据都是重要数据,我们建议使用innodb,比如账号表,订单表3 memory存储,比如我们数据变化频繁,不需要入库,同时又频繁的查询与修改,我们考虑使用memory.原创 2016-06-12 17:15:21 · 267 阅读 · 0 评论 -
MySQL的 SELECT语句完整语法
原创 2016-06-23 01:16:38 · 1665 阅读 · 0 评论 -
MySQL自定义变量
delimiter //create function fun2() returns int begin set @i=1; set @sum=0; while @i<=10 do set @sum=@sum+@i; set @i=@i+1; end while; return原创 2016-06-28 20:28:26 · 1790 阅读 · 0 评论 -
mysql query to find the maximum 3 values from a column and group by on other column
Solution select s.*from (select s.*, (@rn := if(@c = class, @rn + 1, if(@c := class, 1, 1) ) ) as seqnum from student原创 2016-07-20 21:52:47 · 418 阅读 · 0 评论 -
MySQL索引的创建原则
参考链接https://yq.aliyun.com/articles/7972 http://database.51cto.com/art/201010/229698.htm转载 2016-06-05 21:05:38 · 349 阅读 · 0 评论 -
MySQL与NULL值有关的问题
mysql> INSERT INTO my_table (phone) VALUES (NULL);mysql> INSERT INTO my_table (phone) VALUES ('');第1种情况的含义可被解释为“电话号码未知”,而第2种情况的含义可被解释为“该人员没有电话,因此没有电话号码”。注意事项1 在SQL中,NULL 值与任何其他值的比较(即使是NULL)永远不原创 2016-06-12 00:16:18 · 609 阅读 · 0 评论 -
MySQL 全文索引(fulltext)
CREATE TABLE articles ( id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY, title VARCHAR(200), body TEXT, FULLTEXT (title,body))engine=MyIsam charset=utf8;INSERT INTO articles (title,body) VA原创 2016-06-11 23:10:05 · 701 阅读 · 0 评论 -
MySQL中union操作
圆括号中用于单个SELECT语句的ORDER BY只有当与LIMIT结合后,才起排序作用。否则,ORDER BY被优化去除。原创 2016-06-23 22:27:38 · 891 阅读 · 1 评论 -
一条sql引发的血案
http://dbaplus.cn/news-11-442-1.html 力荐:一条update语句引发的“血案”http://www.cnblogs.com/svan/p/5584411.html 一条慢SQL引发的血案http://wenzengliu.blog.51cto.com/9378751/1789转载 2016-06-23 23:49:21 · 522 阅读 · 0 评论 -
mysql自定义函数random_str,产生随机字符串
delimiter $$CREATE FUNCTION random_str(n int) RETURNS varchar(255) begin declare chars_str varchar(100) default "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; declare return原创 2016-06-03 02:09:05 · 6384 阅读 · 0 评论 -
MySQL Insert语法
原创 2016-06-25 20:32:58 · 434 阅读 · 0 评论 -
MySQL中replace into语句的用法详解
1 使用场景 在向表中插入数据的时候,经常遇到这样的情况: 1、首先判断数据是否存在; 2、如果不存在,则插入; 3、如果存在,则更新。2 使用案例原创 2016-06-05 22:30:29 · 558 阅读 · 0 评论 -
MySQL的delete和update的分类
Truncate1 不会返回删除的记录数2 重建自动增长的主键Delete1 会返回删除的记录数2 自动增长的主键不受影响Delete 逐行删除Truncate 删除表,新建表其他更新语句replace into,insert on duplicate key update.原创 2016-06-26 00:34:18 · 559 阅读 · 0 评论 -
MySQL用户变量与系统变量
1 用户变量的使用2 用户变量的赋值3 系统变量使用 4 参考链接 http://dev.mysql.com/doc/refman/5.7/en/user-variables.html https://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html原创 2016-06-26 12:26:36 · 827 阅读 · 0 评论 -
MySQL索引类型介绍
参考链接http://database.51cto.com/art/201010/229025.htm之间的差别:http://stackoverflow.com/questions/707874/differences-between-index-primary-unique-fulltext-in-mysql转载 2016-06-05 12:45:27 · 322 阅读 · 0 评论 -
利用存储过程构建大表(400w)
创建一张emp表,向里面insert 400w条数据#创建表EMP雇员CREATE TABLE emp(empno MEDIUMINT UNSIGNED NOT NULL DEFAULT 0, /*编号*/ename VARCHAR(20) NOT NULL DEFAULT "", /*名字*/job VARCHAR(9) NOT NULL DEFAULT "",/*工作*/m原创 2016-06-11 09:44:56 · 407 阅读 · 0 评论 -
MySQL数据库的优化技术
对mysql优化是一个综合性的技术,主要包括A 表的设计合理化(3NF)B 添加适当的索引(index )[四种:普通索引,唯一索引unique,主键索引,全文索引(full text),空间索引,复合索引]C 分表技术(水平分割,垂直分割)D 读写[update,delete,insert]分离E 存储过程(模块化编程,可提高速度,减少了编译的过程,移植性差)F 对m原创 2016-06-11 09:50:19 · 272 阅读 · 0 评论 -
MySQL查询高速缓冲学习
1 背景 查询缓存存储SELECT查询的文本以及发送给客户端的相应结果。如果随后收到一个相同的查询,服务器从查询缓存中重新得到查询结果,而不再需要解析和执行查询. 如果你有一个不经常改变的表并且服务器收到该表的大量相同查询,查询缓存在这样的应用环境中十分有用。2 开启查询缓存 set have_query_cache=YES, set query_cache_si原创 2016-06-11 15:34:32 · 283 阅读 · 0 评论 -
MySQL触发器简单使用
使用别名OLD和NEW,能够引用与触发程序相关的表中的列。OLD.col_name在更新或删除它之前,引用已有行中的1列。NEW.col_name在更新它之后引用将要插入的新行的1列或已有行的1列参考链接:http://dev.mysql.com/doc/refman/5.7/en/triggers.html原创 2016-06-27 01:13:21 · 417 阅读 · 0 评论 -
MySQL事务
参考链接:http://dev.mysql.com/doc/refman/5.7/en/commit.html原创 2016-06-26 23:00:27 · 304 阅读 · 0 评论 -
MySQL join查询分类
参考链接:http://dev.mysql.com/doc/refman/5.7/en/join.html原创 2016-06-25 10:37:47 · 434 阅读 · 0 评论 -
Mysql日志文件
注意事项1 如果你正使用事务,必须使用MySQL二进制日志进行备份,而不能使用旧的更新日志。2 可以用mysqlbinlog实用工具检查二进制日志文件内容.3 用查询缓存处理的查询不加到慢查询日志中,因为表有零行或一行而不能从索引中受益的查询也不写入慢查询日志。4 如果你正使用MySQL复制功能,从复制服务器将维护更多日志文件,被称为中继日志(Relay Log)原创 2016-06-11 16:02:05 · 223 阅读 · 0 评论 -
MySQL BTree【index type】 原理
原创 2016-06-11 17:22:26 · 2296 阅读 · 0 评论 -
mysql on duplicate key update 语句示例
官方链接:values函数原创 2017-12-27 15:26:10 · 500 阅读 · 0 评论