摘要: 出现这种现象的原因有两个,一个是当前用户被mysql服务器拒绝,另外一个原因是3306端口被被防火墙禁掉,无法连接到该端口。解决方法如下: 1.设置远程用户访问权限: // 任何远程主机都可以访问数据库 mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' 阅读全文
posted @ 2018-12-22 18:21 飞龙在生 阅读(9516) 评论(0) 推荐(0)
摘要: 1.分区 分区的二种方式 a,横向分区 什么是横向分区呢?就是横着来分区了,举例来说明一下,假如有100W条数据,分成十份,前10W条数据放到第一个分区,第二个10W条数据放到第二个分区,依此类推。也就是把表分成了十分,根用merge来分表,有点像哦。取出一条数据的时候,这条数据包含了表结构中的所有 阅读全文
posted @ 2018-12-02 10:54 飞龙在生 阅读(224) 评论(0) 推荐(0)
摘要: 一。前言当我们要对某一条sql的性能进行分析时,可以使用它。 Profiling是从 mysql5.0.3版本以后才开放的。启动profile之后,所有查询包括错误的语句都会记录在内。关闭会话或者set profiling=0 就关闭了。(如果将profiling_history_size参数设置为 阅读全文
posted @ 2018-11-17 17:31 飞龙在生 阅读(9529) 评论(0) 推荐(0)
摘要: 1、慢SQL消耗了70%~90%的数据库CPU资源; 2、SQL语句独立于程序设计逻辑,相对于对程序源代码的优化,对SQL语句的优化在时间成本和风险上的代价都很低;3、SQL语句可以有不同的写法; 1.不使用子查询 SELECT * FROM t1 WHERE id (SELECT id FROM 阅读全文
posted @ 2018-11-17 17:00 飞龙在生 阅读(2195) 评论(0) 推荐(0)
摘要: MySQL存在text和blob: (1)相同 在TEXT或BLOB列的存储或检索过程中,不存在大小写转换,当未运行在严格模式时,如果你为BLOB或TEXT列分配一个超过该列类型的最大长度的值,值被截取以保证适合。如果截掉的字符不是空格,将会产生一条警告。使用严格SQL模式,会产生错误,并且值将被拒 阅读全文
posted @ 2018-11-17 15:45 飞龙在生 阅读(3550) 评论(0) 推荐(0)
摘要: 目的:使用Navicat 创建mysql存储过程,实现格式为8位日期(年月日)+5位流水号序列。 步骤: 1、打开Navicat 登录数据库,点击导航栏上的函数,如下图: 2、点击新建函数,选择“过程”,如下图: 3、添加输出参数,如下图: 4、存储过程代码如下: 5、修改参数数据类型长度,默认没有 阅读全文
posted @ 2018-11-17 10:50 飞龙在生 阅读(1531) 评论(0) 推荐(0)
摘要: 1.复制表结构及数据到新表 2.只复制表结构到新表 3.复制旧表的数据到新表(假设两个表结构一样) 4.复制旧表的数据到新表(假设两个表结构不一样) 阅读全文
posted @ 2018-11-17 10:44 飞龙在生 阅读(1340) 评论(1) 推荐(0)
摘要: 正常情况下是先join再进行where过滤 阅读全文
posted @ 2018-11-15 22:47 飞龙在生 阅读(243) 评论(0) 推荐(0)
摘要: 执行计划重点关注 type、key、key_len、rows、extra type:type如果为ALL,表示全盘扫描,也是效率最低的 key:表示使用了哪个索引,如果没有使用为null key_len:表示索引字段的最大可能长度,KEY_LEN的长度由字段定义计算而来,并非数据的实际长度,长度越小 阅读全文
posted @ 2018-11-15 22:31 飞龙在生 阅读(120) 评论(0) 推荐(0)
摘要: 执行计划能告诉我们什么? 当我们的系统上线后数据库的记录不断增加,之前写的一些SQL语句或者一些ORM操作效率变得非常低。我们不得不考虑SQL优化,SQL优化大概是这样一个流程:1.定位执行效率低的SQL语句(定位),2.分析为什么这段SQL执行的效率比较低(分析),3.最后根据第二步分析的结构采取 阅读全文
posted @ 2018-11-15 22:23 飞龙在生 阅读(1716) 评论(0) 推荐(1)