• msyql遇到事务等待锁超时(error code:1205)的情况。了解下mysql锁的东西,文章是别人的。http://hedengcheng.com/?p=771顺便截个图...
     发布日期: 2016-09-19 00:33:24  分类: MySQL  热度: 581 ℃ 1条评论
  • 算是对MySQL官方文档对JSON数据类型描述的一个笔记吧!官方介绍在这里:http://dev.mysql.com/doc/refman/5.7/en/json.html。从MySQL 5.7.8开始,MySQL新增了对JSON数据结构的原生支持。JSON数据类型相对于存储JSON格式的字符串的一些优势:1、JSON列会自动验证格式的正确性,错误的JSON会报错。2、优化的存储格式。存储的JSON文档会转换成一个内部的格式,以提供对文档元素的快速访问,当需要访问JSON的某个值得时候,不需要从一个文本里面去解析出这个值。这个二进制结构允许直接查找子对象或者通过key查找嵌套的值,或者是在不需要读取整个数组的情况下查找数组索引。JSON数据类型的最大存储大小是通过系统变量max_allowe...
     发布日期: 2016-08-02 23:25:07  分类: MySQL  热度: 777 ℃ 2条评论
  • 原文地址:http://www.innomysql.net/article/21730.htmlInside君整理了一份最新基于MySQL 5.6和5.7的配置文件模板,基本上可以说覆盖90%的调优选项,用户只需根据自己的服务器配置稍作修改即可,如InnoDB缓冲池的大小、IO能力(innodb_buffer_pool_size,innodb_io_capacity)。特别注意,这份配置文件不用修改,可以直接运行在MySQL 5.6和5.7的版本下,这里使用了小小的技巧,具体可看配置文件。如果配置参数存在问题,也可以及时反馈Inside君,我们一起成长。触发Inside君做这件事情的原因是大部分网络上的MySQL配置文件都非常非常古老,大多都是基于MySQL 5.1的版本,这导致了绝大部分M...
     发布日期: 2015-12-24 19:17:16  分类: MySQL  热度: 679 ℃ 0条评论
  • mysql的utf8mb4并不是完整的utf8mb4,只能存储最多三个字节的字符,而完整的utf8mb4编码是一个字符最多可以占用4个字节的。这就导致一些4个字节的字符不能存进utf8mb4编码的表里面,比如emoji表情符号。mysql5.5.3版本的时候新增了一个新的字符集,叫做utf8mb4mb4,这个就是真正的utf8mb4编码的,也可以直接存储emoji表情符号。utf8mb4mb4的字符范围是包含utf8mb4的,所以,我们可以直接把当前数据库的编码转换成utf8mb4mb4,不会有任何问题。为了避免以后因为字符范围而导致的问题,我们在新建数据库的时候也应该用utf8mb4mb4代替utf8mb4作为默认的字符编码。校验规则的话utf8mb4mb4_general_ci和utf8...
     发布日期: 2015-11-17 12:30:44  分类: MySQL  热度: 1213 ℃ 0条评论
  • 1、定位执行效率较低的sql语句通常有两种方法。一种是慢查询日志,用--log-slow-queries[=file_name]启动时,mysql会记录所有执行时间超过long_query_time秒的sql语句的日志文件。 long_query_time参数单位时秒,精度可以精确到微秒,默认情况下管理语句和不使用索引进行查询的语句是不会记录的,如果要记录这两类sql语句可以用--log-slow-admin-statements和log_queries_not_using_indexes来控制。还有一种方法就是使用show processlist命令查看当前mysql在进行的线程,包括线程的状态,是否锁表等,实时的查看sql的执行情况,同时对锁表操作进行优化。2、通过explain分析低效...
     发布日期: 2015-07-26 21:26:04  分类: MySQL  热度: 669 ℃ 0条评论
  • 1、搜索的索引列,不一定是要选择的列。换句话说,最适合索引的列是出现在WHERE字句中的列,或连接字句中指定的列,而不是出现在SELECT关键字后选择列表中的列。2、使用唯一索引。考虑某列中值得分布,索引的列的基数越大,索引的效果越好。例如,存放出生日期的列具有不同的值,很容易区分各行。而用来记录性别的列,只有“M”和“F”,则对此列进行索引没有多大用处,因为不管搜游那个值,都会得出大约一半的行。3、使用短索引。如果对字符串列进行索引,应该指定一个前缀长度,只要有可能就应该这样做。4、利用最左前缀。在创建一个n列的索引时,实际是创建了MySQL可利用的n个索引,多列索引可起几个索引的作用,因为可利用索引中最左边的列集来匹配行,这样的列集成为最左前缀。5、不要过度索引。6、对于InnoDB存储...
     发布日期: 2015-04-07 21:34:15  分类: MySQL  热度: 624 ℃ 0条评论
  • MySQL常用存储引擎对比特点MyISAMInnoDBMEMORYMERGENDB存储限制有64TB有没有有事务安全支持锁机制表锁行锁表锁表锁行锁B树索引支持支持支持支持支持哈希索引支持支持全文索引支持集群索引支持数据缓存支持支持支持索引缓存支持支持支持支持支持数据可压缩支持空间使用低高N/A低低内存使用低高中等低高批量插入的速度高低高高高支持外键支持1、MyISAMMyISAM引擎不支持事务,也不支持外键,优势是访问速度快。对事务完整性没有要求或者以SELECT、INSERT为主的应用基本上都可以用这个引擎。还有个问题就是MyISAM类型的表比较容易损坏。可以用CHECK TABLE语句来检查表的健康状态,用REPAIR TABLE来修复。它还支持三种不同的存储格式:静态(固定长度)表(默...
     发布日期: 2015-02-07 21:13:30  分类: MySQL  热度: 564 ℃ 1条评论
  • 1、字符串函数函数功能concat(s1,s2,...sn)连接s1,s2,...sn为一个字符串insert(str,x,y,insert)将字符串str从第x位置开始,y个字符长的子串替换为字符串insertlower(str)将字符串str中所有的字符变为小写upper(str)将字符串str中所有的字符变为大写left(str,x)返回字符串str最左边的x个字符right(str,x)返回字符串str最右边的x个字符lpad(str,n,pad)用字符串pad对str最左边进行填充,直到长度为n个字符长度rpad(str,n,pad)用字符串pad对str最右边进行填充,直到长度为n个字符长度rtrim(str)去掉字符串str右侧的空格repeat(str,x)返回str重复x次...
     发布日期: 2015-01-18 13:38:42  分类: MySQL  热度: 626 ℃ 0条评论