企业业务逻辑数据的递增和用户量的递增会产生大量的数据库数据量过大的问题。数据库的默认索引表都是存在。一个数据库有索引库和data数据库。索引库里面存放着索引表,指向数据存储区。Java适配的MySQL数据库默认提供每张数据记录表的索引表机制。数据库表的数据索引默认是会查找索引表之后再去数据记录表中查找数据。
数据库的最左匹配原则默认通过字母表排序匹配查询数据,最左匹配原则是有序查询。数据量过大会产生大量的慢查询语句。专业术语回表查询是对数据记录表的索引返回到数据索引表。大量的数据记录表的慢查询操作会损失数据库数据查询性能。SQL的编写尽量使用索引库查询。索引库查询是小表查询操作,耗费的查询数据性能时间较少。索引失效是由like模糊匹配所产生的查询性能问题。like 查询是全表扫描操作,全表扫描关联的数据量过大的时候会产生数据查询时间过长。
二叉树索引的增强版本B+树实现对索引的树形结构存储。树形结构存储数据库的索引比线性数组存储性能要好。索引类似指针,联合索引是索引对象,由很多的索引组合而成。数据库索引表的管理操作十分复杂。索引库索引库的大小不能过大,过大也需要做分布式处理。SQL的编写过程涉及到的子查询不能嵌套太多,子查询会在运行内存中给数据输出对象分配内存空间。嵌套分配内存不利于内存空间的释放。
表与表之间的关联关系建立通过外键和主表的主键进行关联。关系型数据库的约束过大不太灵活。结构化和非结构化的数据库的区别在于对数据的规范化存储。结构化数据存储比较耗费内存,一张数据表是否有数据存在都会有标记存在占用一定内存空间。非结构化的数据库是非关系型数据库,非关系型的数据库使用api操作数据。Memochache和redis都是非关系型的数据库,数据库数据记录存在就会有数据结构分配存储,没有数据的字段并不会结构化存储。
SQL的数据输出数据区尽量使用简单的数据。聚集函数在SQL的输出数据区存在会生成数据输出集合,类似复杂数据对象不利于数据的检索。聚集函数输出数据会产生索引失效,需要重新对输出数据建立索引。SQL的条件过滤is null 是不会扫描索引表。节省数据索引表的内存空间。条件or关键字尽量少用,也是不会和数据索引表产生关联。数据表的小表类似索引表,大表类似数据库记录表。小表带动大表,可以提高数据查询性能。
1.本站内容仅供参考,不作为任何法律依据。用户在使用本站内容时,应自行判断其真实性、准确性和完整性,并承担相应风险。
2.本站部分内容来源于互联网,仅用于交流学习研究知识,若侵犯了您的合法权益,请及时邮件或站内私信与本站联系,我们将尽快予以处理。
3.本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
4.根据《计算机软件保护条例》第十七条规定“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”您需知晓本站所有内容资源均来源于网络,仅供用户交流学习与研究使用,版权归属原版权方所有,版权争议与本站无关,用户本人下载后不能用作商业或非法用途,需在24个小时之内从您的电脑中彻底删除上述内容,否则后果均由用户承担责任;如果您访问和下载此文件,表示您同意只将此文件用于参考、学习而非其他用途,否则一切后果请您自行承担,如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
5.本站是非经营性个人站点,所有软件信息均来自网络,所有资源仅供学习参考研究目的,并不贩卖软件,不存在任何商业目的及用途
暂无评论内容