磁盘排序影响Oracle数据库性能的罪魁祸首
欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 当建立同Oracle会话时,会在 服务器 内存 中划分出一个专门用来排序的区域,从而为会话提供排序空间。但是,这个排序空间毕竟有限,若记录数量超过这个排序空间的话,就需要进行磁盘排序。但是,我
欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入
当建立同Oracle会话时,会在服务器内存中划分出一个专门用来排序的区域,从而为会话提供排序空间。但是,这个排序空间毕竟有限,若记录数量超过这个排序空间的话,就需要进行磁盘排序。但是,我们都知道,磁盘排序的执行速度要比内存排序的执行速度慢1400倍。而且,磁盘排序会消耗临时表空间的资源,并且可能影响到正在进行的其他SQL排序,因为Oracle必须为临时表空间中的数据块分配缓冲池。而且,过多的磁盘排序会导致空闲缓冲等待,以及将执行其他任务的数据块从缓冲池中分页出去。对于数据库管理员来说,在内存中进行排序总是比磁盘排序更受欢迎。所以说,磁盘排序是影响Oracle数据库性能的罪魁祸首。
在数据库优化的时候,我们应该想法设法降低数据库的磁盘排序。为此,笔者有如下建议。
一、合理设置Sort_area_size参数
虽然说Oracle10G以后的数据库会自动对内存进行管理。但是,在一些性能要求比较高或者排序频率比较高的数据库中,仍然有必要对一些影响内存分配的参数进行调整。其中,最重要的一个参数就是Sort_area_size。
Oracle数据库会为所有的链接Oracle会话分配Sort_area_size这个参数。所以,对于拥有大量用户的数据库来说,如果增加这个参数的值,会让磁盘排序的几率明显降低,不过数据库也要为此付出这个代价,很容易导致内存过载。但是,如果这个参数的值设置的过低的话,又会导致过多的磁盘排序。
所以,这个参数并不是越大越好。因为这个参数如果设置的过大的话,其带来的性能收益反而会降低。因为为了提高有限几个查询的速度,可能会浪费大量的内存。这无疑是我们数据库管理员不希望看到的。
在实际工作中,我们往往需要在两者之间进行一个均衡。设置一个合理的参数,尽量让数据库减少磁盘排序的几率,同时也不能使得服务器内存过载。
为此笔者有一个建议。数据库管理员应该每隔一段时间增加这个参数的值,并使用Statspack工具定时监控内存排序与磁盘排序的数据。在起初进行调整的时候最好每个小时查询一次。通过这些数据,我们就可以得到一个合理的参数值,在两这之间取得一个均衡。
前期调整完成后,在后期仍然需要进行监控。因为后期随着企业应用的改变,这个参数仍然需要根据实际情况进行调整,以提高数据库的性能。
二、尽量减少不必要的排序
在某些情况下,尽管数据库管理员没有直接通过Order By等语句对数据库记录进行排序,可是Oracle数据库服务器仍然会对查询结果进行排序。因为这些语句需要起作用,必须要先对数据进行排序。所以,他们往往带有隐性的排序功能。
我们在数据库维护或者前台应用程序设计的时候,要尽量的减少这种不必要的排序。如Distinct关键字,它的作用就是取消重复的记录。但是,要实现这个目的的话,则数据库必须要先对记录进行排序,然后才能够去除重复的记录内容。故在设计的时候,尽量要避免使用Distinct关键字。其实,笔者在工作中,经常会碰到这种情况,某些记录其实不存在重复记录,但是程序开发人员为了保障数据的准确性,就在SQL语句中加入了Distinct关键字,从而造成了不必要的排序。
另外,在其他一些情况下,也会导致不必要的排序。如排序合并连接,也会导致不必要的排序。故无论何时,只要使用了排序合并连接,就会执行排序已连接关键值。故在数据库与应用程序设计的时候,要尽量避免排序合并连接。其实,在许多情况下,嵌套循环连接反而使更好的选择。因为这个嵌套循环连接,它更加有效而且不会导致不必要的排序以及不比要的全表扫描。
其次,有时候缺失索引也会导致一些并不要的排序。
故数据库管理员在平时的工作中,要尽量的减少这些不必要的排序,以让宝贵的内存资源交给更重要的任务来适用。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









今回は、Redstone Token $ RedがBinance LaunchPoolでBinance TGEで発売されます!また、Binanceが市場前の取引制限メカニズムを開始したのはこれも初めてです!初日の制限は200%であり、「市場が開くとピークが達成される」を避けるために、3日後に禁止が解除されます! LaunchPoolメカニズムは、指定されたトークン(BNB、USDC、FDUSD、FDUSD)アクティビティ期間を誓約する必要があるRedstoneに参加するBinancelAunchpoolを紹介します。

Debianシステム上のOracleデータベースのセキュリティを強化するには、開始するには多くの側面が必要です。次の手順は、セキュアな構成のフレームワークを提供します。1。Oracleデータベースのインストールと初期構成システムの準備:Debianシステムが最新バージョンに更新され、ネットワーク構成が正しく、必要なすべてのソフトウェアパッケージがインストールされていることを確認します。インストールのために公式文書または信頼できるサードパーティのリソースを参照することをお勧めします。ユーザーとグループ:専用のOracleユーザーグループ(OINSTALL、DBA、BackUpDBAなど)を作成し、適切なアクセス許可を設定します。 2。セキュリティ制限リソース制限の設定:edit /etc/security/limits.d/30-oracle.conf

Binanceの発売OPBNB:Binanceは最近、BNB Smart Chain(BSC)-OPBNBテストネットワーク向けの新しい拡張ソリューションの発売を発表しました。この記事では、OPBNBの特性とユーザーへの潜在的な影響について説明します。 OPBNB詳細な説明OPBNBは、Ethereum Virtual Machine(EVM)と互換性があるOptimismOpstack上に構築されたLayer2拡張ソリューションです。これは、BSCのスケーラビリティを改善し、ネットワークの混雑を軽減し、取引コストを削減することを目的としています。 OPBNBをよりよく理解するには、次の重要な概念を理解する必要があります。Layer2(ブロックチェーンレイヤー2):いくつかのメインチェーン関数を2番目のレイヤーに転送し、それによりメインを改善します

GOを使用してOracleデータベースに接続するときにOracleクライアントをインストールする必要がありますか? GOで開発するとき、Oracleデータベースに接続することは一般的な要件です...

OraclePl/SQLの手順、機能、パッケージは、それぞれ操作、返品値、および整理コードを実行するために使用されます。 1.プロセスは、挨拶の出力などの操作を実行するために使用されます。 2。関数は、2つの数値の合計を計算するなど、値を計算して返すために使用されます。 3.パッケージは、関連する要素を整理し、在庫を管理するパッケージなど、コードのモジュール性と保守性を向上させるために使用されます。

Redstone(Red)Airdropアクティビティは本格的であり、多くの投資家が参加するようになっています。 Redstoneは、強力なバリデーターネットワーク、リアルタイムデータ統合機能、コミュニティインセンティブメカニズムを備えた高度なクロスチェーンデータのOracleであり、多くの有名な投資機関によってサポートされています。そのユニークな技術的利点は、非常に競争の激しいオラクル市場で際立っており、将来の開発の大きな可能性を秘めています。この記事では、レッドストーンプロジェクトの詳細な分析を実施し、エアドロップに参加できるレッドトークンの数を調査し、レッドトークンの価格を見通し、投資家がレッドストーンプロジェクトと投資のリスクをよりよく理解し、評価します。 特にBNB所有者にとって、エアドロップに参加すると、赤いトークンを入手し、デジタル資産グループを豊かにする機会があります

ERPソフトウェアを選択するときは、最初に業界、スケール、予算、ITインフラストラクチャなどの企業のニーズを明確にし、コアビジネスプロセスに従ってニーズを満たすシステムを選択します。一般的なERPシステムには次のものが含まれます。SAPは大規模な企業に適しており、強力な機能を備えていますが、高価な機能を備えています。 Oracleには包括的な機能がありますが、高価で、大企業に適しています。 ODOOは、中小企業に適しており、低コストでカスタマイズ可能です。 SaaS ERPはクラウドに展開され、オンデマンドで支払い、急速に発展している企業に適しています。選択する前に、トライアルを実施し、専門家のアドバイスに相談し、アフターセールスサービスに注意を払い、あなたに最も適したERPシステムを選択する必要があります。

暗号通貨の世界をナビゲートしたいですか?この 60 ページの業界用語ガイドは必読です。このガイドでは、暗号通貨、ブロックチェーン、ステーブルコインなどの基本概念から、ロング、ショート、レバレッジなどの取引用語、ノード、スマートコントラクト、DeFiなどの技術用語まで、あらゆるものを網羅しています。これらの用語をしっかりと理解することで、暗号通貨コミュニティで自信を持って会話し、投資を決定するための強固な基盤が得られます。
