随笔分类 -  【0066】MySQL基础

摘要:序言 为什么InnoDB不将总数存起来? InnoDB直接count(*)会遍历全表(没有where条件),虽然结果准确,但会导致性能问题。 按照效率排序的话,count(字段)<count(主键id)<count(1)≈count(*),所以建议读者,尽量使用count(*)。 InnoDB一棵B 阅读全文
posted @ 2020-07-12 11:26 ~沐风 阅读(170) 评论(0) 推荐(0) 编辑
摘要:序言 my.ini [mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录 basedir=D:\\DataBase\\mysql-8.0.12-winx64 # 设置mysql数据库的数据的存放目录 datadir=D:\\DataBase\\mysql-8.0. 阅读全文
posted @ 2019-04-24 20:24 ~沐风 阅读(267) 评论(0) 推荐(0) 编辑
摘要:序言 Percona XtraDB Cluster(简称PXC集群)提供了MySQL高可用的一种实现方法。 PXC属于一套近乎完美的mysql高可用集群解决方案,相比那些比较传统的基于主从复制模式的集群架构MHA和MM+keepalived,galera cluster最突出特点就是解决了诟病已久的 阅读全文
posted @ 2019-04-13 15:00 ~沐风 阅读(1109) 评论(0) 推荐(0) 编辑
摘要:序言 分库分表相关术语 读写分离: 不同的数据库,同步相同的数据,分别只负责数据的读和写;分区: 指定分区列表达式,把记录拆分到不同的区域中(必须是同一服务器,可以是不同硬盘),应用看来还是同一张表,没有变化;分库:一个系统的多张数据表,存储到多个数据库实例中;分表: 对于一张多行(记录)多列(字段 阅读全文
posted @ 2018-04-04 08:27 ~沐风 阅读(240) 评论(0) 推荐(0) 编辑
摘要:1.Packets larger than max_allowed_packet are not allowed MySQL的一个系统参数:max_allowed_packet,其默认值为1048576(1M), 查询:show VARIABLES like '%max_allowed_packet 阅读全文
posted @ 2018-01-26 11:59 ~沐风 阅读(261) 评论(0) 推荐(0) 编辑
摘要:http://blog.csdn.net/orichisonic/article/details/48026031 阅读全文
posted @ 2017-12-24 10:56 ~沐风 阅读(175) 评论(0) 推荐(0) 编辑
摘要:1.in和not in子查询优化 not in 是不能命中索引的,所以以下子查询性能很低。 如果是确定且有限的集合时,可以使用。如 IN (0,1,2)。 用 exists或 notexists代替 尽量用join代替 2.模式匹配like '%xxx%'优化 like 'xxx%可以用到索引,但是 阅读全文
posted @ 2017-12-23 14:14 ~沐风 阅读(298) 评论(0) 推荐(0) 编辑
摘要:1.Range(范围) 按照某个字段的范围进行分区。这种常用在时间字段上。 2.Hash(哈希) 按照表中任意个int类型的字段进行分割 3.Key(键值) Hash partition的进阶版,将主键作为分割的标准 4.List(预定义列表) 按照某个字段有哪些值分在一个分区内 5.Composi 阅读全文
posted @ 2017-12-17 12:04 ~沐风 阅读(239) 评论(0) 推荐(0) 编辑
摘要:军规适用场景:并发量大、数据量大的互联网业务 军规:介绍内容 解读:讲解原因,解读比军规更重要 一、基础规范 (1)必须使用InnoDB存储引擎 解读:支持事务、行级锁、并发性能更好、CPU及内存缓存页优化使得资源利用率更高 (2)必须使用UTF8字符集 解读:万国码,无需转码,无乱码风险,节省空间 阅读全文
posted @ 2017-04-19 11:11 ~沐风 阅读(148) 评论(0) 推荐(0) 编辑
摘要:1 public class LogInfo 2 { 3 /// 4 /// 应用名 5 /// 6 public string AppName { get; set; } 7 /// 8 /// 方法名 9 /// 10 pub... 阅读全文
posted @ 2017-02-22 17:19 ~沐风 阅读(331) 评论(0) 推荐(0) 编辑
摘要:测试数据将近280万 1.SELECT id FROM cbbd ORDER BY id LIMIT 900000,10 2.SELECT id FROM cbbd LIMIT 900000,10 错误原因? 3.SELECT id FROM cbbd ORDER BY id ASC LIMIT 9 阅读全文
posted @ 2017-02-22 14:05 ~沐风 阅读(884) 评论(0) 推荐(0) 编辑
摘要:1.首先导入2782665条测试数据(单表将近280万数据) 2.offset比较小的时候 3.offset比较大的时候 4.优化(文件名创建了唯一索引) SELECT * FROM cbbd WHERE id >=(SELECT id FROM cbbd ORDER BY 文件名 LIMIT 90 阅读全文
posted @ 2017-02-22 09:44 ~沐风 阅读(385) 评论(1) 推荐(1) 编辑
摘要:序言 seconds_behind_master测量从属服务器SQL线程和从属服务器I/O线程之间的时间差距 资料 MySQL异步复制延迟解决 阅读全文
posted @ 2017-01-16 21:28 ~沐风 阅读(405) 评论(0) 推荐(0) 编辑
摘要:向MySQL发送一个请求时MySQL具体的操作过程 慢查询 1.慢查询 SHOW VARIABLES LIKE '%quer%' 索引优化技巧 1.对于创建的多列索引(复合)索引,只要查询条件使用了最左边的列,索引一般就会被使用。 2.对于使用like的查询,查询如果是“%aaa”、“_aaa”就不 阅读全文
posted @ 2017-01-15 12:01 ~沐风 阅读(906) 评论(0) 推荐(0) 编辑
摘要:建表规约 索引规约 SQL 语句 其他实战建议 选用utf8编码 可以将 MySql 的字符集由 utf8 调整为 utf8mb4。utf8mb4 是 MySql 在 5.5.3 版本之后增加的一个编码方式,用来兼容四字节的 Unicode(包括 Emoji)。 理论上,utf8mb4 是 utf8 阅读全文
posted @ 2017-01-08 23:02 ~沐风 阅读(259) 评论(0) 推荐(0) 编辑
摘要:http://www.cnblogs.com/whgk/p/6149009.html 优化:http://www.ihref.com/read-16422.html MYSQL常用的几种连接查询方法 阅读全文
posted @ 2016-12-10 17:43 ~沐风 阅读(215) 评论(0) 推荐(0) 编辑
摘要:1.可以使用SHOW TABLE STATUS查询表的相关信息。 2.默认存储引擎是InnoDB,如果没有什么很特殊的要求,InnoDB引擎是我们最好的选择。 3.mysql的infobright引擎——Infobright是开源的MySQL数据仓库解决方案,引入了列存储方案,高强度的数据压缩,优化 阅读全文
posted @ 2016-11-21 15:37 ~沐风 阅读(204) 评论(0) 推荐(0) 编辑
摘要:1.官网 http://www.mycat.io/ http://www.iqiyi.com/w_19rtg7i46d.html 阅读全文
posted @ 2016-11-15 13:20 ~沐风 阅读(164) 评论(0) 推荐(0) 编辑
摘要:1.mysql两种主流存储引擎:Innodb引擎、MyIASM引擎 应用场景: InnoDB用于事务处理,具有ACID事务支持等特性,如果在应用中执行大量insert和update操作,应该选择InnoDB MyIASM管理非事务表,提供高速存储和检索以及全文搜索能力,如果再应用中执行大量selec 阅读全文
posted @ 2016-03-01 17:14 ~沐风 阅读(264) 评论(0) 推荐(0) 编辑