oracle 比 mysql 查询快的原因_Oracle 查询速度慢的原因总结

目录

  • 1. oracle 比 mysql 查询快的原因_Oracle 查询速度慢的原因总结

1. oracle 比 mysql 查询快的原因_Oracle 查询速度慢的原因总结

查询速度慢的原因很多, 常见如下几种:

  1. 没有索引或者没有用到索引(这是查询慢最常见的问题, 是程序设计的缺陷)
  2. I/O 吞吐量小, 形成了瓶颈效应。
  3. 没有创建计算列导致查询不优化。
  4. 内存不足
  5. 网络速度慢
  6. 查询出的数据量过大(可以采用多次查询, 其他的方法降低数据量)
  7. 锁或者死锁(这也是查询慢最常见的问题, 是程序设计的缺陷)
  8. sp_lock,sp_who, 活动的用户查看, 原因是读写竞争资源。
  9. 返回了不必要的行和列
  10. 查询语句不好, 没有优化

可以通过如下方法来优化查询 :

  1. 把数据, 日志, 索引放到不同的 I/O 设备上, 增加读取速度, 以前可以将 Tempdb 应放在 RAID0 上, SQL2000 不在支持。数据量(尺寸)越大, 提高 I/O 越重要。

  2. 纵向, 横向分割表, 减少表的尺寸 (sp_spaceuse)

  3. 升级硬件

  4. 根据查询条件, 建立索引, 优化索引, 优化访问方式, 限制结果集的数据量。注意填充因子要适当(最好是使用默认值 0). 索引应该尽量小, 使用字节数小的列建索引好(参照索引的创建), 不要对有限的几个值的字段建单一索引如性别字段

  5. 提高网速;

  6. 扩大服务器的内存, Windows 2000 和 SQL server 2000 能支持 4-8G 的内存。配置虚拟内存: 虚拟内存大小应基于计算机上并发运行的服务进行配置。运行 Microsoft SQL Server? 2000 时, 可考虑将虚拟内存大小设置为计算机中安装的物理内存的 1.5 倍。如果另外安装了全文检索功能, 并打算运行 Microsoft 搜索服务以便执行全文索引和查询, 可考虑: 将虚拟内存大小配置为至少是计算机中安装的物理内存的 3 倍。将 SQL Server max server memory 服务器配置选项配置为物理内存的 1.5 倍(虚拟内存大小设置的一半).

  7. 增加服务器 CPU 个数; 但是必须明白并行处理串行处理更需要资源例如内存。使用并行还是串行程是 MsSQL 自动评估选择的。单个任务分解成多个任务, 就可以在处理器上运行。例如耽搁查询的排序, 连接, 扫描和 GROUP BY 字句同时执行, SQL SERVER 根据系统的负载情况决定最优的并行等级, 复杂的需要消耗大量的 CPU 的查询最适合并行处理。但是更新操作 Update,Insert, Delete 还不能并行处理。

  8. 如果是使用 like 进行查询的话, 简单的使用 index 是不行的, 但是全文索引, 耗空间。like ‘a%’ 使用索引 like ‘%a’ 不使用索引用 like ‘%a%’ 查询时, 查询耗时和字段值总长度成正比, 所以不能用 CHAR 类型, 而是 VARCHAR. 对于字段的值很长的建全文索引。

  9. DB Server 和 APPLication Server 分离; OLTP 和 OLAP 分离

  10. 分布式分区视图可用于实现数据库服务器联合体。联合体是一组分开管理的服务器, 但它们相互协作分担系统的处理负荷。这种通过分区数据形成数据库服务器联合体的机制能够扩大一组服务器, 以支持大型的多层 Web 站点的处理需要。有关更多信息, 参见设计联合数据库服务器。(参照 SQL 帮助文件’分区视图’)

    1. 在实现分区视图之前, 必须先水平分区表
    2. 在创建成员表后, 在每个成员服务器上定义一个分布式分区视图, 并且每个视图具有相同的名称。这样, 引用分布式分区视图名的查询可以在任何一个成员服务器上运行。系统操作如同每个成员服务器上都有一个原始表的复本一样, 但其实每个服务器上只有一个成员表和一个分布式分区视图。数据的位置对应用程序是透明的。
  11. 重建索引 DBCC REINDEX ,DBCC INDEXDEFRAG, 收缩数据和日志 DBCC SHRINKDB,DBCC SHRINKFILE. 设置自动收缩日志。对于大的数据库不要设置数据库自动增长, 它会降低服务器的性能。在 T-sql 的写法上有很大的讲究, 下面列出常见的要点: 首先, DBMS 处理查询计划的过程是这样的:

    1. 查询语句的词法, 语法检查
    2. 将语句提交给 DBMS 的查询优化器
    3. 优化器做代数优化和存取路径的优化
    4. 由预编译模块生成查询规划
    5. 然后在合适的时间提交给系统处理执行
    6. 最后将执行结果返回给用户其次, 看一下 SQL SERVER 的数据存放的结构: 一个页面的大小为 8K(8060) 字节, 8 个页面为一个盘区, 按照 B 树存放。
  12. Commit 和 rollback 的区别 Rollback: 回滚所有的事物。Commit: 提交当前的事物。没有必要在动态 SQL 里写事物, 如果要写请写在外面如: begin tran exec(@s) commit trans 或者将动态 SQL 写成函数或者存储过程。

  13. 在查询 Select 语句中用 Where 字句限制返回的行数, 避免表扫描, 如果返回不必要的数据, 浪费了服务器的 I/O 资源,

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/88254.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

算法竞赛备赛之动态规划训练提升,DP基础掌握

1.背包问题 1.1.01背包问题 01背包问题是在M件物品中选择若干件放在空间为W的背包中,每件物品的体积为W1,W2至Wn,价值为P1,P2至Pn,01背包的约束条件是给定几种物品,每种物品有且只有一个,并且…

ansible的个人笔记使用记录

1.shell模块使用,shell模块------执行命令,支持特殊符 ansible all -m shell -a yum -y install nginx ansible all -m shell -a systemctl restart nginx ansible all -m shell -a systemctl stop nginx && yum -y remove nginx2. file模块…

【JS | MD5】使用crypto模块实现md5加密功能(解决中文加密前后端不一致的问题)

正常情况下使用md5加密 var crypto require(crypto);var md5Sign function (data) {var md5 crypto.createHash(md5).update(data).digest(hex);return md5; } 实际开发中经常需要前端nodejs调用后端java接口,使用上述方法会出现中文加密结果不同的情况&#x…

ChatGPT重磅升级:可以看图、听声音、说话啦!

美东时间9月25日,OpenAI在官网宣布,对ChatGPT进行重磅升级实现看图、听声音、输出语音内容三大功能。 早在今年3月OpenAI发布GPT-4模型时,就展示过看图的功能,但由于安全、功能不完善等原因一直没有开放。现在不仅开放了看图&…

TensorFlow入门(四、数据流向机制)

session与"图"工作过程中存在的两种数据的流向机制,即:注入机制和取回机制 注入机制(feed):即通过占位符向模式中传入数据 取回机制(fetch):指在执行计算图时,可以同时获取多个操作节点的计算结果 实例代码如下: import tensorflow.compat.v1 as tftf…

Redis 支持哪些数据类型?以及使用场景?

五种常用的基础数据类型:String,List,Set,ZSet,Hash 基于基础数据类型实现的高级数据类型:BitMap,HyperLogLog,GEO,Stream String 类型的应用场景:缓存对象、…

傅一平:2023年我的私人书单(上)

2023年一直在通过ChatGPT学习,读书少了,但不能不读。 这里推荐上半年读过的TOP 9 书单,同时附上我的一句话评语和豆瓣的评分,涉及思考方法、系统架构、跨学科知识、沟通技巧、生活感悟、个人修养等等。 TOP 1 佛畏系统-用系统思维…

解决apscheduler意外跳过任务【Execution of job “xx“(trigger:xxx), next run at: xxx】

解决方法 添加配置: max_instances:添加最多可同时进行的数量 misfire_grace_time:如果意外断开,多少秒以内会重新尝试运行 如: scheduler.add_job(print_each_5_second, interval, seconds5, max_instances10, mi…

Vue中的自定义指令详解

文章目录 自定义指令自定义指令-指令的值(给自定义指令传参数)自定义指令- v-loading指令封装 自定义指令 自定义指令:自己定义的指令,可以封装一些dom 操作,扩展额外功能(自动聚焦,自动加载&a…

HTML5+CSS3小实例:脉冲波纹催眠动画特效

实例:脉冲波纹催眠动画特效 技术栈:HTML+CSS 效果: 源码: 【html】 <!DOCTYPE html> <html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"><meta name="viewport" content=&qu…

800G时代来临,千兆光模块万兆光模块还有用吗?

随着科技的不断进步&#xff0c;网络传输速度的需求也越来越高&#xff0c;特别是在云计算、人工智能、物联网等领域&#xff0c;对网络传输速度的要求越来越高。近年来&#xff0c;千兆光模块和万兆光模块已经成为了网络传输的主要手段&#xff0c;但随着800G时代的到来&#…

自学视觉SLAM(1)

引言 小编研究生的研究方向是视觉SLAM&#xff0c;目前在自学&#xff0c;已经学了Linux系统的基本操作&#xff0c;vim编辑器以及高翔老师的一些视屏。本篇文章为初学笔记。 文章目录 引言1 熟悉 Linux1.1 如何在 Ubuntu 中安装软件&#xff08;命令⾏界⾯&#xff09;&#x…

Python爬虫之入门保姆级教程

目录 一、分析要爬取的网站 二、导入相关库 三、相关的参数 四、向网站发出请求&#xff08;使用代理IP&#xff09; 五、匹配 六、获取图片&#xff0c;保存到文件夹中&#xff08;os库&#xff09; 七、完整代码 总结 相信许多人都曾为如何入门Python爬虫而烦恼。今天…

FastChat 大模型部署推理;Baichuan2-13B-Chat测试、chatglm2-6b测试

参考&#xff1a; https://github.com/lm-sys/FastChat https://blog.csdn.net/qq128252/article/details/132759107 ##安装 pip3 install "fschat[model_worker,webui]"模型下载&#xff1a; ##模型下载&#xff1b;huggingface下载慢&#xff0c;可以在modelscop…

Java中的抽象类(看这篇就够了)

在Java中&#xff0c;抽象类&#xff08;Abstract Class&#xff09;是一种不能被实例化的类&#xff0c;它通常用于作为其他类的基类&#xff0c;提供一些通用的行为和结构。以下是关于Java抽象类的一些重要信息&#xff1a; 定义抽象类&#xff1a; 使用 abstract 关键字来定…

安防视频平台EasyCVR视频调阅全屏播放显示异常是什么原因?

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…

执行上下文,js、React、HTML中的this

目录 执行上下文属性&#xff1a;变量对象、this&#xff0c;作用域链 变量对象是与执行上下文相关的数据作用域&#xff0c;存储&#xff1a;变量、函数声明 执行上下文生命周期 创建&#xff1a;生成变量对象、创建函数作用域&#xff0c;建立作用域链、确定this的指向 …

勒索病毒最新变种.mallab勒索病毒来袭,如何恢复受感染的数据?

导言&#xff1a; 在当今数字化时代&#xff0c;.mallab勒索病毒以其险恶的特性和神秘的名称引起了广泛关注。为了更深入了解这种威胁&#xff0c;我们需要揭示.mallab勒索病毒背后的神秘面纱&#xff0c;了解它的运作方式以及预防它的方法。如果受感染的数据确实有恢复的价值…

【python学习第9节笔记,面向对象(继承,封装,多态),zip函数,with语句】

文章目录 一&#xff0c;面向对象&#xff08;继承&#xff0c;封装&#xff0c;多态&#xff09;1.1封装1.2继承/派生1.3多态1.3.1纯虚函数 二&#xff0c;zip函数三&#xff0c;with语句 一&#xff0c;面向对象&#xff08;继承&#xff0c;封装&#xff0c;多态&#xff09…

代码随想录day50:动态规划

123.买卖股票的最佳时期II 规则改成最多买卖两次&#xff1a;即0&#xff0c;1&#xff0c;2次 1.定义dp数组&#xff1a;本题一共有五种状态&#xff1a;初始状态&#xff0c;第一次持有股票&#xff0c;第一次卖出股票&#xff0c;第二次持有股票&#xff0c;第二次卖出股票…