首页 > 数据库 >数据库原理 查询优化

数据库原理 查询优化

时间:2022-12-09 11:34:03浏览次数:42  
标签:排序 数据库 扫描 元组 索引 算法 查询 优化 连接

实现查询操作的算法
1、选择
(1)简单的全表扫描
(2)索引扫描算法
2、连接
(1)嵌套循环算法
对外层循环表上的每一个元组,检索其内层循环表中元组,检查其是否相等,满足连接条件输出。
数据存取按照数据块读入内存,不是按照元组进行I/O。
(2)排序合并算法
等值连接常用算法。
算法步骤:
如果连接表未排序,先按照连接属性排序,排序后做连接。
当在B表扫描到不相同的第一个元组时,返回A表开始扫描下一个元组,再扫描B表上具有相同属性的元组,并把它们连接起来。
(3)索引连接算法
①在B表上建立索引
②对A表每一个元组,通过索引来查询相关元组
③把元组连接起来
(4)hash join
把连接属性作为hash码,用同一个hash函数把两表相连

标签:排序,数据库,扫描,元组,索引,算法,查询,优化,连接
From: https://www.cnblogs.com/echii/p/16968474.html

相关文章

  • 【MySQL】将查询结果导出到一个文件
    (1)SQL示例如下,要将如下的SQL查询结果导出到一个txt文件,便于研发做结果内容的核对selectps_partkey,sum(ps_supplycost*ps_availqty)asvaluefromparts......
  • Redis配置、优化以及相命令
    一、关系数据库和非关系型数据库1、关系型数据库关系型数据库是一个结构化的数据库,创建在关系模型(二维表格模型)基础上,一般面向于记录。SQL语句(标准数据查询语言)就是一......
  • 数据库脚本执行逻辑
    数据库脚本执行顺序:sql脚本命名规范:序号+版本名称+脚本描述+创建者姓名拼音缩写±回滚后缀DBaistock-v4.4.4script1_aistock-v4.4.4_updateTable_bwf-zsz.sql2_aisto......
  • 云数据库技术行业动态:ClickHouse Cloud正式GA或有融资;openGauss社区引入新成员
    行业动态ClickHouseCloud正式GA,同时,B轮融资得到进一步增加这是由ClickHouse官方推出云服务,启用新域名:clickhouse.cloud,类似于MongoDB的Atlas服务。目前支持在AWS构建,从......
  • sqlite3数据库提示database disk image is malformed 解决办法
    在嵌入式产品中,用sqlite3进行数据存储是非常常用且有效的方法。但是最近在项目中遇到了数据库被损坏的情况,具体表现为使用数据库管理软件打开数据库后,使用sql语句对数据进......
  • es组合查询
    GETyi_cloud_ecs_monitor/_search{"query":{"bool":{"must":[{"match":{"instance_id":"i-88zcpeekx"}}],"filter":{"range":{"c......
  • KingbaseES性能调优《索引优化建议》
    本文主要介绍KingbaseES使用插件(索引优化建议)进行数据库性能调优。一、插件sys_qualstats1、简介sys_qualstats是一个KingbaseES的扩展,用于保存WHERE语句和JOIN......
  • springboot中数据库批量新增InsertListMapper两种情况
    pom中mybatis的依赖包版本必须高点满足两种情况<dependency><groupId>tk.mybatis</groupId><artifactId>mapper-spring-boot-starter</artifactId><version>4.......
  • 想早点下班?试试Aorm库吧,更方便的进行Go数据库操作
    使用go进行项目开发,大多数人会使用gorm,但是gorm有一些缺点,我无法接受。于是开发出了aorm,目前能有满足日常开发需求,并且完善了使用文档,希望能够帮助到大家。AormGolang操......
  • Chapter8_一用就会的数据库
    热身回答数据库术语中的“表”是什么意思?table,表示数据的集合表(Table)就是被整理成表格形式的数据一张表由若干个列和行构成。列也被称为字段(Field),行也被称为记录(Re......