Heim Datenbank MySQL-Tutorial DB2 runstats、reorgchk、reorg 命令

DB2 runstats、reorgchk、reorg 命令

Jun 07, 2016 pm 03:49 PM
db2 命令

runstats、reorgchk、reorg 1、runstats runsats可以搜集表的信息,也可以搜集索引信息。作为runstats本身没有优化的功能,但是它更新了统计信息以后,可以让DB2优化器使用最新的统计信息来进行优化,这样优化的效果更好。 runstats on table tbschema.tbnam


runstats、reorgchk、reorg
 
1、runstats
runsats可以搜集表的信息,也可以搜集索引信息。作为runstats本身没有优化的功能,但是它更新了统计信息以后,可以让DB2优化器使用最新的统计信息来进行优化,这样优化的效果更好。
 
runstats   on   table   .   收集表      的统计信息。表名必须是用     全限定的。
 
 
  2、reorg
 
 A、 reorg   table   .   通过重构行来消除“碎片”数据并压缩信息,对表进行重组。表名必须是用      全限定的。
  B、
reorg还有一个功能就是可以将表中的数据按照某个索引关键字的顺序排列,从而可以减少某些查询I/O的数量。
 
 
  执行REORG可以考虑分为表上有索引和没有索引两种情况:
     a.如表名为DB2INST1.STAFF,索引名为DB2INST1.ISTAFF
      reorg table db2inst1.staff index db2inst1.istaff use tempspace1
    b.建议REORG时使用USE参数指定数据重排时使用的临时表空间,否则,REORG工作将会
       在表所在表空间中原地执行.如果表上有多个索引,INDEX参数值请使用最为重要的索
       引名.
    c.表上没有索引:
       reorg table db2inst1.staff use tempspace1
      reorg table sysibm.systables use tempspace1
 
http://weiruan85.javaeye.com/blog/317520
 
3、
 
让db2系统定时runstats、reorg
Q:定期runstats、reorg
A:在db2 v8.2以上可以使用 CALL SYSPROC.ADMIN_CMD来实现,
这里主要讲在v8.2以前的版本中利用shell或者批处理来实现同样的功能
因为在以前的版本中存储过程中是不能使用DDL操作语句的!(这点对于oracle刚转过来的人来说很是郁闷的)
然后可以利用db2自带的配置自动维护来做,但是java做的东西比较让人感觉头痛!尤其是速度和莫名的错误!
本代码使用操作系统的脚本来实现这部分功能!
1.windows下
如下:
下一个cmd文件s.cmd
内容如下:
db2 connect to ccp_dm
db2 -x "select 'runstats on table '||rtrim(tabschema)||'.'||tabname||' on all columns' from sysstat.tables where card=-1">tab.sql
db2 -f tab.sql
--其中where后的条件可以修改
然后就是定制任务:用windos的定制任务!每周或者每月运行,这个就不讲了哈!
这部分经测试,通过!
不过能,这里只提到了runstats,对于reorg同理也可以实现!
 
http://myfriend2010.itpub.net/post/29012/386779
 
 
4、reorgchk
 
C:\Documents and Settings\Administrator>db2 reorgchk update statistics on table all
 
正在执行 RUNSTATS ....
 
  reorgchk   on   table   all   确定是否需要对表进行重组。这对于对所有表自动执行 runstats很有用。   
 
 
1) 针对系统表进行REORGCHK
db2 reorgchk update statistics on table system
使用UPDATE STATISTICS参数指定数据库首先执行RUNSTATS命令。
 
2) 针对用户表进行REORGCHK
db2 reorgchk update statistics on table user
 
下面是执行的部分结果
db2 reorgchk update statistics on table user
执行 RUNSTATS ....
 
 
db2 reorgchk 命令是最重要的、也是经常被忽略的 DB2 调整命令之一。 db2 reorgchk 命令被忽略是因为它不是一个一次性调整项。由于更新是在 DB2 数据库上执行的,因此关于表的统计信息将不会是最新的。db2 reorgchk 命令更新 DB2 优化器所使用的重要统计信息。建议在大约每 10,000 次更新后重复 db2 reorgchk 命令。
 
在运行 db2 reorgchk 命令之前,您应该停止 IBM Directory Server 以防止在命令执行的同时发生任何 DB2 查询或更新。虽然这是可选的,但数据库查询和更新可能会非常缓慢并有可能超时。
 
 
 
请注意,运行 db2 reorgchk 命令所带来的性能益处是即时的。不必在 db2 reorgchk 命令之后重新启动 DB2。
 

除了提高性能之外,db2 reorgchk 命令还报告关于数据库中所有表和索引的统计信息。db2 reorgchk 命令还报告关于 DB2 表的组织的统计信息。



--


reorg   table   IFS_CORTASK_UR   --通过重构行来消除“碎片”数据并压缩信息,对表进行重组。
   runstats   on   table   .  -- 收集表     的统计信息。
   reorgchk   on   table   all  -- 确定是否需要对表进行重组,对于对所有表自动执行   runstats   很有用。
  >>> reorg   和runstats  -- 都是单个表优化,初始化的命令: 
           runstats on table administrator.test;
           reorg table administrator.test; 

--

 
http://publib.boulder.ibm.com/tividd/td/ITAME/SC32-1351-00/zh_CN/HTML/am51_perftune66.htm
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So führen Sie SUDO-Befehle in Windows 11/10 aus So führen Sie SUDO-Befehle in Windows 11/10 aus Mar 09, 2024 am 09:50 AM

Mit dem Befehl sudo können Benutzer Befehle im Modus mit erhöhten Rechten ausführen, ohne in den Superuser-Modus wechseln zu müssen. In diesem Artikel erfahren Sie, wie Sie Funktionen simulieren, die Sudo-Befehlen in Windows-Systemen ähneln. Was ist das Shudao-Kommando? Sudo (kurz für „Superuser Do“) ist ein Befehlszeilentool, das es Benutzern von Unix-basierten Betriebssystemen wie Linux und MacOS ermöglicht, Befehle mit erhöhten Rechten auszuführen, die normalerweise Administratoren vorbehalten sind. Ausführen von SUDO-Befehlen in Windows 11/10 Mit der Veröffentlichung der neuesten Vorschauversion von Windows 11 Insider können Windows-Benutzer diese Funktion nun nutzen. Mit dieser neuen Funktion können Benutzer Folgendes tun

Wie überprüfe ich die MAC-Adresse der Netzwerkkarte in Win11? Wie erhalte ich mit dem Befehl die MAC-Adresse der Netzwerkkarte in Win11? Wie überprüfe ich die MAC-Adresse der Netzwerkkarte in Win11? Wie erhalte ich mit dem Befehl die MAC-Adresse der Netzwerkkarte in Win11? Feb 29, 2024 pm 04:34 PM

Dieser Artikel führt Leser in die Verwendung der Eingabeaufforderung (CommandPrompt) ein, um die physische Adresse (MAC-Adresse) des Netzwerkadapters im Win11-System zu finden. Eine MAC-Adresse ist eine eindeutige Kennung für eine Netzwerkschnittstellenkarte (NIC), die eine wichtige Rolle bei der Netzwerkkommunikation spielt. Über die Eingabeaufforderung können Benutzer problemlos die MAC-Adressinformationen aller Netzwerkadapter auf dem aktuellen Computer abrufen, was für die Fehlerbehebung im Netzwerk, die Konfiguration von Netzwerkeinstellungen und andere Aufgaben sehr hilfreich ist. Methode 1: „Eingabeaufforderung“ verwenden 1. Drücken Sie die Tastenkombination [Win+X] oder klicken Sie mit der rechten Maustaste auf das [Windows-Logo] in der Taskleiste und wählen Sie im sich öffnenden Menüelement [Ausführen] aus . Führen Sie das Fenster aus, geben Sie den Befehl [cmd] ein und dann

Wo ist der erweiterte Hyper-V-Sitzungsmodus? Tipps zum Aktivieren oder Deaktivieren des erweiterten Hyper-V-Sitzungsmodus mithilfe von Befehlen in Win11 Wo ist der erweiterte Hyper-V-Sitzungsmodus? Tipps zum Aktivieren oder Deaktivieren des erweiterten Hyper-V-Sitzungsmodus mithilfe von Befehlen in Win11 Feb 29, 2024 pm 05:52 PM

Im Win11-System können Sie den erweiterten Hyper-V-Sitzungsmodus über Befehle aktivieren oder deaktivieren. In diesem Artikel wird die Verwendung von Befehlen zur Bedienung vorgestellt und Benutzern dabei geholfen, Hyper-V-Funktionen im System besser zu verwalten und zu steuern. Hyper-V ist eine von Microsoft bereitgestellte Virtualisierungstechnologie, die in Windows Server und Windows 10 und 11 (außer Home Edition) integriert ist und es Benutzern ermöglicht, virtuelle Betriebssysteme in Windows-Systemen auszuführen. Obwohl virtuelle Maschinen vom Host-Betriebssystem isoliert sind, können sie über Einstellungen dennoch die Ressourcen des Hosts wie Soundkarten und Speichergeräte nutzen. Eine der wichtigsten Einstellungen ist die Aktivierung des erweiterten Sitzungsmodus. Der erweiterte Sitzungsmodus ist Hyper

Der Befehl cmdtelnet wird nicht als interner oder externer Befehl erkannt Der Befehl cmdtelnet wird nicht als interner oder externer Befehl erkannt Jan 03, 2024 am 08:05 AM

Das cmd-Fenster weist darauf hin, dass es sich bei Telnet nicht um einen internen oder externen Befehl handelt. Dieses Problem tritt nicht auf, da mit der Bedienung des Benutzers nicht allzu große Sorgen gemacht werden müssen Ein paar kleine Schritte können das Problem der CMD-Fensteraufforderung „Telnet ist kein interner oder externer Befehl“ lösen. Schauen wir uns die Lösung für die CMD-Fensteraufforderung „Telnet ist kein interner oder externer Befehl“ an. Das cmd-Fenster weist darauf hin, dass Telnet kein interner oder externer Befehl ist. Lösung: 1. Öffnen Sie die Systemsteuerung des Computers. 2. Programme und Funktionen finden. 3. Suchen Sie links nach „Windows-Funktionen aktivieren oder deaktivieren“. 4. Suchen Sie nach „Telnet-Client“.

Super praktisch! Sar-Befehle, die Sie zum Linux-Meister machen Super praktisch! Sar-Befehle, die Sie zum Linux-Meister machen Mar 01, 2024 am 08:01 AM

1. Übersicht Der Befehl sar zeigt Systemnutzungsberichte anhand von Daten an, die aus Systemaktivitäten gesammelt wurden. Diese Berichte bestehen aus verschiedenen Abschnitten, die jeweils die Art der Daten und den Zeitpunkt der Datenerfassung enthalten. Der Standardmodus des Befehls sar zeigt die CPU-Auslastung in verschiedenen Zeitschritten für verschiedene Ressourcen an, die auf die CPU zugreifen (z. B. Benutzer, Systeme, E/A-Planer usw.). Darüber hinaus wird der Prozentsatz der inaktiven CPU für einen bestimmten Zeitraum angezeigt. Der Durchschnittswert für jeden Datenpunkt wird unten im Bericht aufgeführt. Standardmäßig erfasst sar alle 10 Minuten Daten. Sie können diese Berichte jedoch mithilfe verschiedener Optionen filtern und anpassen. Ähnlich wie der Befehl uptime kann Ihnen auch der Befehl sar dabei helfen, die CPU-Auslastung zu überwachen. Durch sar können Sie das Auftreten einer übermäßigen Belastung verstehen

Installieren Sie VMware Workstation unter Windows 11 mit nur einem einfachen Befehl Installieren Sie VMware Workstation unter Windows 11 mit nur einem einfachen Befehl Sep 12, 2023 pm 08:33 PM

Schritt 1: Öffnen Sie PowerShell oder die Eingabeaufforderung auf Ihrem Windows 11- oder 10-System, gehen Sie zum Suchfeld und geben Sie je nach Wunsch CMD oder Powershell ein. Hier verwenden wir PowerShell. Wenn es in den Ergebnissen erscheint, wählen Sie „Als Administrator ausführen“. Dies liegt daran, dass wir Administratorzugriff benötigen, um Befehle zum Installieren von Software unter Windows auszuführen. Schritt 2: Überprüfen Sie die Winget-Verfügbarkeit. Nun, obwohl alle neuesten Versionen von Windows 10 und 11 standardmäßig mit dem Winget-Tool ausgestattet sind. Aber schauen wir zunächst einmal, ob es funktioniert. Typ: Winget Im Gegenzug werden Sie sehen, dass es mit dem Befehl verwendet werden kann

Artefakt unter Linux: Prinzipien und Anwendungen von eventfd Artefakt unter Linux: Prinzipien und Anwendungen von eventfd Feb 13, 2024 pm 08:30 PM

Linux ist ein leistungsstarkes Betriebssystem, das viele effiziente Kommunikationsmechanismen zwischen Prozessen bereitstellt, wie z. B. Pipes, Signale, Nachrichtenwarteschlangen, gemeinsam genutzten Speicher usw. Aber gibt es eine einfachere, flexiblere und effizientere Art der Kommunikation? Die Antwort ist ja, das ist eventfd. eventfd ist ein Systemaufruf, der in Linux Version 2.6 eingeführt wurde. Er kann zur Implementierung von Ereignisbenachrichtigungen verwendet werden, d. h. zur Übermittlung von Ereignissen über einen Dateideskriptor. eventfd enthält einen vom Kernel verwalteten 64-Bit-Ganzzahlzähler ohne Vorzeichen. Der Prozess kann den Zählerwert lesen/ändern, indem er diesen Dateideskriptor liest/schreibt, um eine Kommunikation zwischen Prozessen zu erreichen. Was sind die Vorteile von eventfd? Es verfügt über die folgenden Funktionen

Was ist der richtige Weg, einen Dienst unter Linux neu zu starten? Was ist der richtige Weg, einen Dienst unter Linux neu zu starten? Mar 15, 2024 am 09:09 AM

Was ist der richtige Weg, einen Dienst unter Linux neu zu starten? Wenn wir ein Linux-System verwenden, stoßen wir häufig auf Situationen, in denen wir einen bestimmten Dienst neu starten müssen, aber manchmal können beim Neustart des Dienstes Probleme auftreten, z. B. wenn der Dienst nicht tatsächlich gestoppt oder gestartet wird. Daher ist es sehr wichtig, die richtige Methode zum Neustarten von Diensten zu beherrschen. Unter Linux können Sie normalerweise den Befehl systemctl verwenden, um Systemdienste zu verwalten. Der Befehl systemctl ist Teil des systemd-Systemmanagers

See all articles