Loading

上一页 1 2 3 4 5 6 7 8 ··· 56 下一页
摘要: UNION查询 将一系列单个查询结果放到一个临时表中,然后再重新读出临时表数据来完成UNION查询 每个查询都是一次关联,读取结果临时表也是一次关联 MySQL 关联执行策略 MySQL 对任何关联都执行嵌套循环关联操作,即先在一个表中取出单条数据,然后再嵌套循环到下一个表中寻找匹配的行 直到找到所 阅读全文
posted @ 2021-12-01 14:34 BigBender 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 采用分治思想,将大查询切分成小查询 比如将大数据量的删除分批进行 分解关联查询优势 缓存效率更高,拆分后如果某个表很少改变,基于该表的查询就可以重复利用查询缓存结果了 将查询分解后,执行单个查询可以减少锁的竞争 在应用层做关联,容易对数据库拆分 查询本身效率有所提升 减少冗余记录的查询,在应用层关联 阅读全文
posted @ 2021-12-01 10:11 BigBender 阅读(468) 评论(0) 推荐(0) 编辑
摘要: 单行访问是很慢的 在机械硬盘存储中IO尤其慢,SSD随机IO会快一些 读取的块中尽可能多包含所需要的行,用索引可以创建位置引用,提升效率 按顺序访问范围数据是很快的 顺序IO不需要多次磁盘寻道,比随机IO快很多 如果服务器能够需要顺序读取数据,不需要额外的排序操作,GROUP BY无需排序和聚合计算 阅读全文
posted @ 2021-11-23 15:25 BigBender 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 使用 show index from 查看索引基数 存储引擎估算索引列有多少个不同的取值,选择合适的索引 减少索引和数据的碎片 行碎片(Row Fragmentation) 数据被存储在多个地方的多个片段中,就算查询只从索引中访问行记录,行碎片也会导致性能下降 行间碎片(Intra-row Frag 阅读全文
posted @ 2021-11-23 15:15 BigBender 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 索引可以让查询锁定更少的行 锁定超过需要的行会增加锁争用并减少并发性 InnoDB只有在访问行的时候才会加锁,索引能减少InnoDB访问的行数 这条查询返回2~4之间的行,实际上获取了1~4之间的行排他锁 Using where,表示MySQL服务器将存储引擎返回行后再应用WHEER过滤条件 Inn 阅读全文
posted @ 2021-11-23 14:47 BigBender 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 官方网站:https://dev.mysql.com/doc/refman/5.6/en/mrr-optimization.html 多范围读取优化(MRR) explain语句 当表很大且未存储在存储引擎的缓存中时,使用二级索引上的范围扫描读取行可能会导致对基表的许多随机磁盘访问。 通过磁盘扫描多 阅读全文
posted @ 2021-11-22 09:17 BigBender 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 安装mysql mysql仓库:https://repo.mysql.com/ 获取rpm包 wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 安装rpm包 sudo rpm -ivh mysql-communit 阅读全文
posted @ 2021-11-03 10:20 BigBender 阅读(34) 评论(0) 推荐(0) 编辑
摘要: root 模块(父) 首先新建一个工程 点击Next 继续下一步,勾选好常用的依赖,进入工程,删除不需要的文件夹:src、main、test pom 文件中把 <package> 标签内容改为 pom 子模块 点击工程结构按钮,新建 module 点击新建 和创建root一样一路点下去,自己取名字 阅读全文
posted @ 2021-11-02 13:33 BigBender 阅读(722) 评论(0) 推荐(0) 编辑
摘要: 衡量查询开销的指标 响应时间 扫描的行数 返回的行数 它们大致反映了MySQL在内部执行查询时,需要访问多少数据,可以大概推算出查询运行的时间 响应时间 响应时间 = 服务时间 + 排队时间 使用快速上限估计法,来查询响应时间 扫描的行数和返回的行数字 分析查询时,查看该查询扫描的行数很有帮助,理想 阅读全文
posted @ 2021-10-26 14:59 BigBender 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 是否向数据库请求了不需要的数据 查询不需要的数据 一个常见的错误是误以为MySQL只返回需要的数据,实际上先返回全部结果集再计算 最有效的解决办法是在查询后面加上LIMIT 多表关联时返回全部列 在 JOIN 操作时返回了所有表的列 只需要一个表的列 重复查询相同的数据 初次查询的时候将数据缓存起来 阅读全文
posted @ 2021-10-26 14:00 BigBender 阅读(32) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 56 下一页