首页 > 数据库 >SQL优化

SQL优化

时间:2024-09-29 23:44:52浏览次数:8  
标签:存储 数据 数据库 查询 索引 SQL 优化

 

企业业务逻辑数据的递增和用户量的递增会产生大量的数据库数据量过大的问题。数据库的默认索引表都是存在。一个数据库有索引库和data数据库。索引库里面存放着索引表,指向数据存储区。Java适配的MySQL数据库默认提供每张数据记录表的索引表机制。数据库表的数据索引默认是会查找索引表之后再去数据记录表中查找数据。

 

数据库的最左匹配原则默认通过字母表排序匹配查询数据,最左匹配原则是有序查询。数据量过大会产生大量的慢查询语句。专业术语回表查询是对数据记录表的索引返回到数据索引表。大量的数据记录表的慢查询操作会损失数据库数据查询性能。SQL的编写尽量使用索引库查询。索引库查询是小表查询操作,耗费的查询数据性能时间较少。索引失效是由like模糊匹配所产生的查询性能问题。like 查询是全表扫描操作,全表扫描关联的数据量过大的时候会产生数据查询时间过长。

 

二叉树索引的增强版本B+树实现对索引的树形结构存储。树形结构存储数据库的索引比线性数组存储性能要好。索引类似指针,联合索引是索引对象,由很多的索引组合而成。数据库索引表的管理操作十分复杂。索引库索引库的大小不能过大,过大也需要做分布式处理。SQL的编写过程涉及到的子查询不能嵌套太多,子查询会在运行内存中给数据输出对象分配内存空间。嵌套分配内存不利于内存空间的释放。

 

表与表之间的关联关系建立通过外键和主表的主键进行关联。关系型数据库的约束过大不太灵活。结构化和非结构化的数据库的区别在于对数据的规范化存储。结构化数据存储比较耗费内存,一张数据表是否有数据存在都会有标记存在占用一定内存空间。非结构化的数据库是非关系型数据库,非关系型的数据库使用api操作数据。Memochache和redis都是非关系型的数据库,数据库数据记录存在就会有数据结构分配存储,没有数据的字段并不会结构化存储。

SQL的数据输出数据区尽量使用简单的数据。聚集函数在SQL的输出数据区存在会生成数据输出集合,类似复杂数据对象不利于数据的检索。聚集函数输出数据会产生索引失效,需要重新对输出数据建立索引。SQL的条件过滤is null 是不会扫描索引表。节省数据索引表的内存空间。条件or关键字尽量少用,也是不会和数据索引表产生关联。数据表的小表类似索引表,大表类似数据库记录表。小表带动大表,可以提高数据查询性能。

标签:存储,数据,数据库,查询,索引,SQL,优化
From: https://www.cnblogs.com/liaowanzhong/p/18440580

相关文章

  • 速度暂停粒子群算法:一种新的全局优化方法
    目录1.摘要2.算法原理3.速度暂停粒子群算法3.结果展示4.参考文献5.代码获取1.摘要粒子群优化算法(PSO)是一种高效的元启发式算法,特别适合解决多样的优化问题。然而,PSO面临着收敛速度慢和易陷入局部最优的问题,这在处理高维问题时尤为明显。为了解决这些问题,本文引入......
  • 骨架屏(懒加载优化)
    即便通过Webpack的按需加载、CDN静态资源缓存和代码分割等技术来减少首屏的代码体积,首屏加载时的白屏时间(也称为首屏等待时间)仍然可能存在,尤其在网络条件较差或页面内容复杂时,常见的解决方案是使用骨架屏技术,数据加载前的占位动画可以表示内容还在加载中核心概念和......
  • 【MySQL】数据库中的内置函数
    W...Y的主页......
  • SQL进阶技巧:如何获取状态一致的分组? | 最大、最小值法
    目录0需求描述1数据准备2问题分析  方法1:最大、最小值法(技巧)  方法2:常规思路3小结 如果觉得本文对你有帮助,那么不妨也可以选择去看看我的博客专栏,部分内容如下:数字化建设通关指南专栏原价99,现在活动价29.9,按照阶梯式增长,直到恢复原价0需求描述星星点......
  • 今日一学,sql优化,创建索引的优缺点
    收藏了,但是不打开,久而久之就忘了,今日一学!所谓是好记性不如烂键盘。**2024Javaoffer收割指南**sql优化尽量避免使用select*,返回无用的字段会降低效率。优化方式:只能使用具体的字段代替select具体字段,只返回使用到的字段。(虽然我经常select*但是一个表字段非常多,那......
  • PostgreSQL是否有等待事件
    PostgreSQL是否有等待事件PostgreSQL提供了等待事件(WaitEvents)的机制,用于监控数据库运行过程中因资源争用而导致的等待情况。这些等待事件可以帮助数据库管理员识别导致性能问题的瓶颈,例如锁冲突、I/O等待等。什么是等待事件?等待事件是指PostgreSQL中的进程在等待某......
  • 基于Python+flask+MySQL+HTML的全国范围水质分析预测系统,可视化用echarts,预测算法随机
    1绪论近年来,水质监测系统的进步显著,这在全球环保意识不断提升的背景下尤为明显。大量资源被投入到水质监测技术的研发和应用中,以不断优化监测效能。水资源的保护及健康环境的维护,这种趋势旨在提升人们生活质量,确保优质的生活条件。通过持续不懈的努力,我们得以实现对水质的及......
  • Windows下绿色安装PostgreSQL笔记
    介绍PostgreSQL,Postgres,以下简称为PG,是一款关系型数据库,本地安装支持两种方式,一键安装和绿色解压安装两种方式下载、解压安装版:https://www.enterprisedb.com/downloads/postgres-postgresql-downloads绿色解压版:https://www.enterprisedb.com/download-postgres......
  • 【Web APIs day 03 事件流、事件委托、其他事件:优化多个事件绑定和实现常见网页交互】
    WebAPIs-第3天目标:学习事件流,事件委托,其他事件等知识,优化多个事件绑定和实现常见网页交互事件流移除事件监听其他事件元素尺寸与位置综合案例事件流为什么要学习事件流?可以帮我们解决一些疑惑,比如点击子盒子会会弹出2次的问题事件流指的是事件完整执行过程中的......
  • OpenWRT部署后优化
    一、配置国内opkg源系统——软件包——配置opkg修改为 清华大学镜像源 (以23.05.4版本为例,别的版本也可以按需更改)src/gzopenwrt_corehttps://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/23.05.4/targets/x86/64/packagessrc/gzopenwrt_basehttps://mirrors.tuna.t......