![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SQL优化
文章平均质量分 72
主要本人工作中一些SQL优化技巧的总结
潇潇雨歇_
www
展开
-
SpringBoot + ShardingSphere实现读写分离,分库分表
分布式项目在通过一定的服务拆分,项目运行一段时间以后,随着用户和使用资源的不断增大,数据库的性能也会面临瓶颈。单表数据量过大,超高并发的读写引发的锁问题,导致系统运行加载越来越慢,不时出现系统假死的现象,数据库的优化已将近极限,几乎没有空间,这时就需要考虑读写分离,分库分表(这里主要是水平的分库分表)的策略,来减少对同一数据库的访问的压力。一.操作的工程目录二.读写分离application.ymlspring: shardingsphere: data.原创 2021-11-26 16:20:44 · 3606 阅读 · 0 评论 -
MySQL分库分表总结
一.何为分库分表分库分表就是为了解决由于数据量过大而导致数据库性能降低的问题,将原来独立的数据库拆分成若干数据库组成 ,将数据大表拆分成若干数据表组成,使得单一数据库、单一数据表的数据量变小,从而达到提升数据库性能的目的。分库分表包括分库和分表两个部分,在生产中通常包括:垂直分库、水平分库、垂直分表、水平分表四种方式。(大库拆成小库,大表拆成小表)二.根据病状,对症下药2.1 问题一: 磁盘读IO瓶颈,热点数据太多,数据库缓存放不下,每次查询时会产生大量的IO,降低查询速度解决办法: 分库和垂直分表原创 2021-09-29 14:33:25 · 359 阅读 · 0 评论 -
索引优化驱动SQL优化总结
一.表字段建索引的优缺点优势:1.提高数据检索的效率,降低数据库的IO成本。2. 通过索引列对数据进行排序,降低数据排序的成本,降低了CPU的消耗。劣势:1.虽然索引大大提高了查询速度,同时却会降低更新表的速度,如对表进行INSERT、UPDATE和DELETE。因为更新表时,MySQL不仅要保存数据,还要保存一下索引文件每次更新添加了索引列的字段,都会调整因为更新所带来的键值变化后的索引信息。2.实际上索引也是一张表,该表保存了主键与索引字段,并指向实体表的记录,所以索引列也是要占用空间的。原创 2021-09-22 10:07:16 · 134 阅读 · 0 评论 -
Explain性能分析总结
一.概念1.1 使用 EXPLAIN 关键字可以模拟优化器执行 SQL 查询语句,从而知道 MySQL 是如何处理你的 SQL 语句的。分析你的查询语句或是表结构的性能瓶颈。1.2 用法: Explain+SQL 语句,例如:EXPLAIN SELECT t2.dept_id FROM sys_role_dept t1, sys_dept t2 WHERE role_id IN ( SELECT role_id FROM sys_user_role WHERE user_id = 1 )原创 2021-09-18 11:21:14 · 144 阅读 · 0 评论