Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!

SQL优化培训文档 PDF 下载


分享到:
时间:2021-08-03 09:19来源:http://www.java1234.com 作者:转载  侵权举报
SQL优化培训文档 PDF 下载
失效链接处理
SQL优化培训文档  PDF 下载


本站整理下载:
提取码:02oe 
 
相关截图:
 
主要内容:

1.2.3 、 纵 向拆分
纵向拆分方法:把不需要用于查询的大字段,放到另外一个新建的附属表中,如
feelingStructured 表和 Auto 表。这样就将 Evaluation 表的数据内容减少到最少,存储块中可
以多存储许多数据行,减少程序读取存储块的个数。
资源由 www.eimhe.com 美河学习在线收集提供
1.2.4 、 横 向拆分
横向拆分方法:表分区,表分区的条件,一张数据表的行数至少要达 3000W 行以上的数据,
就可以考虑做表分区了。但这不是绝对,如果表的数据行内容特别多,查询特别慢时,也可
以尽早做表分区。
注意问题:普通表在查询时,会比分区表要快一些,因为基于分区表的查询会遍历所有的分
区表,而普通表只查询了普通表一个表。
解决办法,在查询条件中加入分区条件,这样查询就会落入指定的分区中,不用遍历所有的
分区,但问题是,是不是所有的查询都能加入分区条件呢。只要进行了表分区,那么 SQL
的前提条件就是所有 SQL 都要加上分区条件,除非个别的汇总,统计类的 SQL。
1.2.5 、 数据库分库
数据库分库:当一个台数据库表服务器访问压力过大,数据量过大时,就需要考虑进行数据
库分库,数据库分库条件和表分区的逻辑是比较像的。根据业务条件,如地区,时间,进行
拆分。
1.2.6 、 读索引为什么比读表快
这里面引发出一个触类旁通的问题,为什么索引查询会比直接查数据要快?因为索引做为一
个独立的数据存储区,也是跟数据表存储块一样,以 8KB 为一个存储块,一个 IO 读取一次
存储块,而索引中只有简单的几个索引列,而不是整个数据行的数据,所以它一个 IO 读取
的数据会非常多,这样它的 IO 就会非常少,加快了查询速度。
1.2.7 、 数据压缩的利与弊
数据压缩和索引压缩会使存储空间和逻辑读减少,但是会使表更新的开销加大,查询耗费的
CPU 也更多,所以压缩表一般适合在更新比较少,且 CPU 消耗不大,IO 消耗很大系统中适
用。像企业管理软件就比较适用于数据压缩和 BI 系统。如果当前系统的 IO 并不高,但 CPU
非常繁忙,则不应该采用表和索引压缩,传统数据库的压缩率并不是太高,真正压缩率比较
高的应该是 BI 的数据。
2 索引优化
 

------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐