首页 > 数据库 >优化sql查询的速度

优化sql查询的速度

时间:2024-09-11 16:52:07浏览次数:8  
标签:添加 查询 索引 循环 sql 速度 优化

首先影响查询速度的原因大概有三点:

1: 网络原因

2:代码原因

3:磁盘写入原因

接口入参时间 与 出参时间 用出参时间-入参时间得到最终的毫秒数

写入数据库变慢

1. 将单独 变成 批量

查询速度变得很慢

1. 增加索引,避免索引失效

2.数据量大 有笛卡尔乘积 ,先将笛卡尔积换成数据教少的数据

3.使用中间件 ,读写分离 分库分表

我们可以优化的只有选项2

案例:

第一个添加方法不是在xml循环添加,在service层进行for循环添加

第二个添加方法是在xml循环sql进行添加

两个执行的速度相差五十多倍,原因是在service写for循环进行添加他每循环一次都会创建和关闭数据库的会话,而创建和关闭这两步就要花费1秒的时间,所以执行的数据越多,越读越慢。

而在sql循环的添加方法只需要执行一次数据库,也就是说只需要创建和关闭一次,所以速度很快。

案列:
sql循环:一个教师里面有三十多个人,相当于第一个人开一次门,后面的人直接出去,最后一个人再关门,速度很快。

for循环:是指每一个人出去都要开门关门,人要是多了开关门就需要很多时间,这就导致速度变得很慢。

除此之外

还可以添加索引,查询速度会有显著的提升

在类型一栏有看到有ref说明使用索引查询,没有使用的话会显示all

标签:添加,查询,索引,循环,sql,速度,优化
From: https://blog.csdn.net/srlahsly/article/details/142144034

相关文章

  • 上汽大众:存储成本节约85%,查询性能提升5倍|OceanBase案例
    近日,上汽大众汽车有限公司(简称“上汽大众”)的积分卡券等关键业务系统,已成功升级至OBCloud云数据库。借助OceanBase原生分布式数据库的卓越性能与先进技术,实现了存储成本的大幅降低,高达85%;同时,业务连续性显著提升,达到了99.999%;查询效率更是飞跃,性能提升5倍。这一系列改进,标......
  • PDshell16反向pgsql中 Unable to list the columns. SQLSTATE = 22003不良的类型值 sh
    问题原因:pdshell逆向pg的sql脚本滞后,与pg新版本不兼容,解决方案:修改掉不兼容的sql代码1、Database->EditCurrentDBMS,如下 2、PostgreSQL9.x->Script->Objects找到Column和Key;如下 3、将Column->SqlListQuery选项里SELECT中的c.attnotnull替换为cast(nullif(c.att......
  • PDshell16逆向PostgreSQL 工程显示字段comment备注
    现状:当刚逆向成功的表结构是没有原来表结构中的,comment备注如下 然后pd逆向工程的sql已经返回了这个备注的含义 解决方案:1、设置显示注释列tools——DisplayPreferences…如下    勾选-按照下面得方式勾选这三个 复制这里的VBS脚本,打开菜单Tools>Execute......
  • Power Designer 连接 PostgreSQL 逆向工程生成pd表结构操作步骤以及过程中出现的问题
    、使用PowerDesigner16.5链接pg数据库1.1、启动PD.选择CreateModel…。 1.2、选择Modeltypes/PhysicalDataModelPhysicalDiagram:选择pgsql直接【ok】  1.3、选择connect在工具栏选择Database-Connect…快捷键:ctrl+shift+N.如下图:  1.4、选择配置连接......
  • 单调队列优化 dp
    1.概念单调队列优化的本质是借助单调性,及时排除不可能的决策,保持候选集合的秩序性。2.例题P1714切蛋糕题目大意:给定一个序列,找出长度不超过\(m\)的连续子序列,使得子序列中所有数的和最大。思路:要求区间和,首先求出前缀和,然后考虑朴素dp,不难想到用\(dp[i]\)表示包含......
  • 基于java+sql企业固定资产管理系统的计算机毕设
    摘要:固定资产管理系统是一个企事业单位不可缺少的部分,它的内容对于企事业单位的决策者和管理者来说都至关重要,所以固定资产管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理固定资产的信息,这种管理方式存在着许多缺点,如:效率低、保......
  • MySQL——主从复制、读写分离
    目录前言一、MySQL主从复制的概述1、MySQL主从复制的概念2、Mysql主从复制功能和使用场景2.1、Mysql主从复制功能2.2、Mysql主从复制使用场景3、MySQL支持的复制类型3.1、基于语句的复制3.2、基于行的复制3.3、混合复制4、主从复制的工作过程5、MySQL三种同步方式......
  • SQL 高级语法 MERGE INTO
    根据与源表相联接的结果,对目标表进行插入、更新、删除等操作。例如,对目标表,如果源表存在的数据则更新,没有的则插入,就可以使用MEREG进行同步。基本语法MERGEINTOtarget_tableUSINGsource_tableONconditionWHENMATCHEDTHENXXXWHENNOTMATCHEDTHENXXX这里的Sour......
  • 初级练习[4]:多表查询——表联结
    目录多表查询:表联结示例 查询有两门以上的课程不及格的同学的学号及其平均成绩 查询所有学生的学号、姓名、选课数、总成绩 查询平均成绩大于85的所有学生的学号、姓名和平均成绩 查询学生的选课情况:学号,姓名,课程号,课程名称 查询出每门课程的及格人数和不及格人数......
  • 初级练习[5]:多表查询——多表连接
    目录多表查询:表联结(续) 课程编号为"01"且课程分数小于60,按分数降序排列的学生信息查询所有课程成绩在70分以上的学生的姓名、课程名称和分数,按分数升序排列 查询该学生不同课程的成绩相同的学生编号、课程编号、学生成绩 查询课程编号为“01”的课程比“02”的课程成绩......