数据库原理及数据库的优化

这篇具有很好参考价值的文章主要介绍了数据库原理及数据库的优化。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、数据库的原理

数据库:持久化存储,存到硬盘

性能:oracl>db2>sqlserver>mysql oracl,db2,sqlserver性能差不多,几十万次每秒,myslq性能差很多,几千次每秒,都属于关系型数据库

mysql数据库中user表负责权限管理

mysql运行程序在内存,数据存储在硬盘,程序运行在内存中

java向mysql发送sql语句,就是发送字符串,接收方接受字符串后,对字符串进行处理,先判定有没有相应的权限,然后根据处理后的内容进行相应的处理,确定对哪个表进行操作后,将该表拷贝到内存中进行相应操作,处理完后更新回去,将原来的表覆盖掉。查找和修改是进行for循环遍历找O(n),新增是末尾添加O(1),删除是遍历查找O(n)然后将最后一个复制粘贴到被删除的地方,标记位向前移动一个,本质还是数组

数据库在设计时尽可能保持长度一致,这样性能是最好的

索引,给数据库中需要频繁查找且数据量大的数据列添加索引,索引就是每条数据的序列号,然后需要查找的时候将索引加载到内存中,在内存中以树的形式存储,通过O(logn)的时间复杂度查找到要查的数据索引,通过索引再到数据库中找到要查找的数据

2、数据库的优化

mysql运行是它的main方法在操作系统运行,数据库的表文件通过磁盘IO将文件读到内存,磁盘IO读写有限,当读取比较多的时候,就会出现排队的现象。

固态盘不能作为主要的数据存储,因为固态盘有固定的读写次数,指每个扇区,容易使数据丢失。

缺陷:数据库假如一个文件有1000万条数据,占几百个G,哪怕知识查找一条20B的数据都要将这1000万的数据全部加载到内存中,这对内存的损耗非常大。如果只是对单条数据进行处理性能浪费很大,应当批量处理会更好,关联计算。

MySQL数据库是关系型数据库,擅长关联计算,比如求平均、求最大值最小值、求和、去重等。

单次操作多的时候,将表文件按类拆成多个更小的表文件,会降低计算量,内存的占用,加快程序速度,对单次表操作效能增加很有效,但是不适合表的关联计算

关联计算多的情况,则存成大表更合适

如果有既有关联操作,又有数据的单表操作,查询等,应当考虑将表文件复制成两份,单表操作进一份拆分的小表,关联操作进另一份大表,虽然会浪费磁盘存储空间,但是磁盘便宜,用空间换取时间是值得的,要注意两份表要保持数据同步。

非关系型数据库:自动能拆分成小文件,每一份数据都是单独文件,内存的(redis\mangodb),Java内部(数组、链表、hashMap),硬盘中的(hive、kafka、ElasticSearch、zookeeper),不擅长关联计算,擅长单点计算文章来源地址https://www.toymoban.com/news/detail-813131.html

到了这里,关于数据库原理及数据库的优化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数据库优化系列教程(3)一数据库设计

            数据库设计优化是整个数据库系统性能优化的关键一环,直接影响到数据库系统的稳定性、可扩展性和性能。         数据库设计中的规范化和反规范化是为了在满足特定需求的同时,提高数据库的性能和维护效率。这两个概念之间存在权衡,需要根据具体的

    2024年01月19日
    浏览(79)
  • java查询数据库百万条数据,优化之:多线程+数据库

    今天去面试时hr问了个关于大量数据查询的问题。 面试官:“我们公司是做数据分析的,每次需要从数据库中查询100万条数据进行分析,该接口不能用分页(不限制具体怎么实现),请问怎么优化sql或者java代码呢??” 如果用普通查询需要5分多分钟才查询完毕,所以我们用

    2024年02月15日
    浏览(52)
  • 数据库原理1——《小猫猫大课堂》数据库原理篇

    宝子,你不点个赞吗?不评个论吗?不收个藏吗? 最后的最后,关注我,关注我,关注我,你会看到更多有趣的博客哦!!! 喵喵喵,你对我真的很重要。 目录 前言 1.2数据库基本概念 1.3数据库三级模式和两级数据独立性 1.4数据库技术发展历史与分类 1.5数据库系统的组成

    2024年02月15日
    浏览(36)
  • 【数据库原理】(27)数据库恢复

    在数据库系统中,恢复是指在发生某种故障导致数据库数据不再正确时,将数据库恢复到已知正确的某一状态的过程。数据库故障可能由多种原因引起,包括硬件故障、软件错误、操作员失误以及恶意破坏。为了确保数据库的安全性和完整性,数据库管理系统(DBMS)必须具有

    2024年01月16日
    浏览(61)
  • 【数据库原理】(32)数据库设计-数据库物理设计

    数据库的物理设计是数据库设计过程中至关重要的一个阶段。其核心目标是选择一个适合应用环境的物理结构,以满足特定的性能、存储和访问需求。这一阶段涉及的关键任务可以分为两个主要步骤: 1. 确定数据的物理结构 存储结构和存取方法的选择 :这包括决定数据在物

    2024年01月19日
    浏览(56)
  • 【NOSQL数据库】Redis数据库的配置与优化一

    关系型数据库是一个结构化的数据库, 创建在关系模型(二维表格模型)基础上 ,一般面向于记录。 SQL 语句(标准数据查询语言)就 是一种基于关系型数据库的语言 ,用于执行对关系型数据库中数据的检索和操作。 主流的关系型数据库包括 Oracle、MySQL、SQL Server、Microso

    2024年02月11日
    浏览(49)
  • 【性能优化】MySql数据库查询优化方案

    了解系统运行效率提升的整体解决思路和方向 学会MySQl中进行数据库查询优化的步骤 学会看慢查询、执行计划、进行性能分析、调优 ​关于这个问题,我们通常首先考虑的是硬件升级,毕竟服务器的内存、CPU、磁盘IO速度 、网络速度等都是制约我们系统快慢的首要因素。硬

    2024年02月03日
    浏览(59)
  • 达梦数据库 优化

    优化不能仅从数据库方面考虑,比如,在存储达到数据库极限、应用涉及人员设计的代码稀巴烂的情况下,进行调优就是杯水车薪的效果。 涉及到优化人员: 数据库管理员 应用程序架构师 应用程序设计人员 系统管理员 存储管理员 涉及到的优化内容: 应用程序:(与开发人员

    2024年04月09日
    浏览(46)
  • 数据库查询优化

    数据库查询是现代软件系统中不可避免的一部分。随着数据量的增加,查询速度变慢已经成为一个普遍存在的问题。为了解决这个问题,以下是一些数据库查询优化的方法: 索引优化:索引可以加速查询速度,但是索引的使用也会带来一些开销。因此,需要根据查询的情况对

    2024年02月07日
    浏览(59)
  • mysql数据库优化

    数据库的性能调优和优化是指通过优化数据库结构、SQL语句的编写以及服务器硬件和操作系统等方面的配置,来提高数据库的响应速度和稳定性,以满足业务需求。 结合实际需求,从以下四个方面进行讲解。 一、数据库设计优化 二、SQL语句优化 三、索引优化 四、硬件和操

    2024年01月17日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包