无详细内容 无 create or replace procedure p_test_gy(v_datacycle_id varchar2, --添加分区的上限值 v_entity_owner varchar2, v_entity_name varchar2, v_retcode out varchar2, v_retinfo out varchar2) is v_cnt1 number; --实体检测 v_cnt2 number; --
create or replace procedure p_test_gy(v_datacycle_id varchar2, --添加分区的上限值 v_entity_owner varchar2, v_entity_name varchar2, v_retcode out varchar2, v_retinfo out varchar2) is v_cnt1 number; --实体检测 v_cnt2 number; --分区是否存在检测 v_cnt3 number; --模板子分区是否存在检测 v_part_type varchar2(30); --分区类型 v_subpart_type varchar2(30); --子分区类型 v_part_value_max varchar2(30); --分区最大值 v_part_style varchar2(30); --分区命名格式 v_part_value varchar2(30); --分区值变量 v_sql varchar2(4000); --动态执行SQL v_sub_template varchar2(4000); --调整模板子分区 v_high_value long; --子分区值变量 v_subpart_value varchar2(30); --子分区值变量 /*v_pkg v_procname */ begin /*--插入日志部分 p_insert_log(v_acct_month, v_pkg, v_procname, v_prov_id, sysdate, '');*/ --检测输入参数是否有误 select count(0) into v_cnt1 from sys.dba_objects where owner = v_entity_owner and object_name = v_entity_name and object_type = 'TABLE'; if v_cnt1 = 0 then v_retcode := 'FAIL'; v_retinfo := '目标表信息输入有误'; else --检测目标表有无分区 select count(0) into v_cnt2 from sys.dba_part_tables t where t.owner = v_entity_owner and t.table_name = v_entity_name; if v_cnt2 = 0 then v_retcode := 'SUCCESS'; v_retinfo := '目标表无分区'; else --检测分区是否已存在 select regexp_replace(max(t.partition_name), '[^0-9]', ''), regexp_replace(max(t.partition_name), '[0-9]', '') into v_part_value_max, v_part_style from sys.dba_tab_partitions t where t.table_owner = v_entity_owner and t.table_name = v_entity_name; select partitioning_type, subpartitioning_type into v_part_type, v_subpart_type from sys.dba_part_tables t where t.owner = v_entity_owner and t.table_name = v_entity_name; --分区已存在&分区是LIST/HASH分区 if v_part_value_max >= v_datacycle_id OR v_part_type <> 'RANGE' then v_retcode := 'SUCCESS'; v_retinfo := '分区已存在'; else select count(0) into v_cnt3 from sys.dba_subpartition_templates where table_name = v_entity_name and user_name = v_entity_owner; --无子分区&有子分区且为模板子分区 if v_part_type = 'RANGE' AND ((v_subpart_type = 'LIST' AND v_cnt3 <> 0) OR nvl(v_subpart_type, '**') = 'NONE') then v_part_value := to_char(add_months(to_date(v_part_value_max, 'yyyymm'), 1), 'yyyymm'); while v_part_value <= v_datacycle_id loop v_sql := 'alter table ' || v_entity_owner || '.' || v_entity_name || ' add partition ' || v_part_style || v_part_value || ' values less than (''' || to_char(add_months(to_date(v_part_value, 'yyyymm'), 1), 'yyyymm') || ''') tablespace '; --日志检索 /*dbms_output.put_line(v_sql);*/ --需要分配分区(或者建表设置默认表空间) execute immediate v_sql; v_part_value := to_char(add_months(to_date(v_part_value, 'yyyymm'), 1), 'yyyymm'); end loop; v_retcode := 'SUCCESS'; v_retinfo := '成功'; else /*--顺序不太好看 select rtrim(wmsys.wm_concat(' subpartition ' || substr(subpartition_name,length(partition_name)+2) || ' values ( ''' || regexp_replace(substr(subpartition_name, length(partition_name)+2),'[^0-9]','') || ''' ) '),',') into v_sub_template from sys.dba_tab_subpartitions where table_owner = v_entity_owner and partition_name = v_part_value_max and table_name = v_entity_name;*/ --有子分区且非模板子分区 v_sub_template := 'alter table ' || v_entity_owner || '.' || v_entity_name || ' set subpartition template('; --''' ||regexp_replace(substr(subpartition_name,length(partition_name) + 2),'[^0-9]','') || ''' for t in (select /*+parallel(sub,4)*/* from sys.dba_tab_subpartitions sub where table_owner = v_entity_owner and partition_name = v_part_style || v_part_value_max and table_name = v_entity_name order by length(regexp_replace(subpartition_name, '[0-9]', '')),subpartition_name) loop v_high_value:=t.high_value; v_subpart_value:=substr(v_high_value,1,4000); /*if v_subpart_value= 'DEFAULT' then v_subpart_value:='''DEFAULT'''; end if;*/ v_sub_template := v_sub_template ||' subpartition ' || substr(t.subpartition_name, length(t.partition_name) + 2) || ' values ( '||v_subpart_value||' ) ,' ; end loop; --日志检索 dbms_output.put_line(rtrim(v_sub_template, ',') || ')'); insert into dm_check_log select rtrim(v_sub_template, ',') || ')', v_datacycle_id, sysdate from dual; commit; execute immediate rtrim(v_sub_template, ',') || ')'; v_part_value := to_char(add_months(to_date(v_part_value_max, 'yyyymm'), 1), 'yyyymm'); while v_part_value <= v_datacycle_id loop v_sql := 'alter table ' || v_entity_owner || '.' || v_entity_name || ' add partition ' || v_part_style || v_part_value || ' values less than (''' || to_char(add_months(to_date(v_part_value, 'yyyymm'), 1), 'yyyymm') || ''') tablespace '; /*dbms_output.put_line(v_sql);*/ execute immediate v_sql; --需要分配分区(或者建表设置默认表空间) v_part_value := to_char(add_months(to_date(v_part_value, 'yyyymm'), 1), 'yyyymm'); end loop; v_retcode := 'SUCCESS'; v_retinfo := '成功'; end if; end if; end if; end if; end;

MySQLは、非同期、半同期、およびグループ複製の3つのモードを介してデータの複製を処理します。 1)非同期の複製パフォーマンスは高くなりますが、データが失われる可能性があります。 2)半同期複製により、データセキュリティが向上しますが、遅延が増加します。 3)グループレプリケーションは、高可用性要件に適したマルチマスターレプリケーションとフェールオーバーをサポートします。

説明ステートメントは、SQLクエリのパフォーマンスを分析および改善するために使用できます。 1.説明ステートメントを実行して、クエリプランを表示します。 2。出力結果を分析し、アクセスの種類、インデックスの使用量に注意し、順序を結合します。 3.分析結果に基づいてインデックスを作成または調整し、結合操作を最適化し、フルテーブルスキャンを回避してクエリ効率を向上させます。

論理バックアップにMySQLDUMPとホットバックアップにMySQLenterPriseBackupを使用することは、MySQLデータベースをバックアップする効果的な方法です。 1. mysqldumpを使用してデータベースをバックアップします:mysqldump-uroot-pmydatabase> mydatabase_backup.sql。 2。ホットバックアップにmysqlenterprisebackupを使用:mysqlbackup - user = root-password = password - backup-dir =/path/to/backupbackup。回復するときは、対応する寿命を使用します

MySQLのクエリが遅い主な理由には、インデックスの欠落または不適切な使用、クエリの複雑さ、過剰なデータボリューム、および不十分なハードウェアリソースが含まれます。最適化の提案には以下が含まれます。1。適切なインデックスを作成します。 2。クエリステートメントを最適化します。 3.テーブルパーティションテクノロジーを使用します。 4.適切にハードウェアをアップグレードします。

MySQLビューは、SQLクエリの結果に基づいた仮想テーブルであり、データを保存しません。 1)ビューは複雑なクエリを簡素化し、2)データセキュリティを強化し、3)データの一貫性を維持します。ビューは、テーブルのように使用できるデータベースにクエリを保存しますが、データは動的に生成されます。

MySQLdiffersfromotherSQLdialectsinsyntaxforLIMIT,auto-increment,stringcomparison,subqueries,andperformanceanalysis.1)MySQLusesLIMIT,whileSQLServerusesTOPandOracleusesROWNUM.2)MySQL'sAUTO_INCREMENTcontrastswithPostgreSQL'sSERIALandOracle'ssequenceandt

MySQLパーティション化により、パフォーマンスが向上し、メンテナンスが簡素化されます。 1)大きなテーブルを特定の基準(日付範囲など)、2)物理的に独立したファイルに物理的に分割する、3)MySQLはクエリするときに関連するパーティションに焦点を合わせることができます。

mysqlで許可を許可および取り消す方法は? 1。grantallprivilegesondatabase_name.to'username'@'host 'などの許可を付与するために付与ステートメントを使用してください。 2。Revokeallprivilegesondatabase_name.from'username'@'host 'など、Revoke Statementを使用して、許可のタイムリーな通信を確保します。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

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

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

ホットトピック









