为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:dm8
【操作系统】:
【CPU】:
【问题描述】*:
今天写了两个脚本 分别取跑库mysql 和dm 结果发现dm 居然只要18秒就可以跑完mysql 180秒的脚本 细思极恐
请问dm这方面是做了优化吗?
dm
#!/bin/bash
#==============================================================#
# 脚本名 : hcs_dm_initall.sql
# 创建时间 : 2022-12-28 10:02:09
# 更新时间 : 2022-12-29 10:30:18
# 描述 : 使用脚本,根据输入的后缀不同 一键跑完DM的数据库脚本
# 路径 : 需与oneaccess dm版本的sql目录在同一路径下
# 版本 : 1.0.0
# 作者 : dongjelababy(18271632505@163.com)
# Copyright (C) 2021-2022 HCS
#==============================================================#
#==============================================================#
# HCS_DM #
#==============================================================#
# 获取达梦的安装目录
dmdispwd=$(find / -path *bin/disql | head -1)
read -p "请输入dm服务端口,默认值 ==> (5236) : " dmport
read -p "请输入dm超管密码,默认值 ==> (SYSDBA) : " sysdbapwd
read -p "请输入oneaccess各个库拥有者对应的密码,默认值 ==> (Bamboocloud@1234) : " kupwd
read -p "请输入oneaccess对应的库及用户的后缀,默认为空串: " suffix
suffix=${suffix:-""}
sysdbapwd=${sysdbapwd:-"SYSDBA"}
dmport=${dmport:-"5236"}
kupwd=${kupwd:-"Bamboocloud@1234"}
if [ "$suffix" = "" ]; then
read -p "后缀为空,请确认(yes/no):yes继续,no退出" input
input=$(echo "$input" | tr "[A-Z]" "[a-z]")
if [ "$input" = "yes" ]; then
echo "yes go"
else
echo "exit zero"
exit
fi
else
echo "go"
fi
starttime=`date +'%Y-%m-%d %H:%M:%S'`
dy="'"
sy='"'
dir=hcs_dm_execute
rm -rf ./${dir}
mkdir ./${dir}
# bam
cat bam/bam_dm_db_create.sql >./${dir}/bam_dm_db_create.sql
cat >>./${dir}/bam_dm_db_create.sql<<hcs
exit;
hcs
cat bam/bam_dm_20.0.2_all.sql >./${dir}/bam_dm_20.0.2_all.sql
cat >>./${dir}/bam_dm_20.0.2_all.sql<<hcs
exit;
hcs
# bim
cat bim/bim_dm_db_create.sql >./${dir}/bim_dm_db_create.sql
cat >>./${dir}/bim_dm_db_create.sql<<hcs
exit;
hcs
cat bim/bim_dm_table_create.sql >./${dir}/bim_dm_table_create.sql
cat >>./${dir}/bim_dm_table_create.sql<<hcs
exit;
hcs
cat bim/business_dm_table_create.sql >./${dir}/business_dm_table_create.sql
cat >>./${dir}/business_dm_table_create.sql<<hcs
exit;
hcs
cat bim/bim_dm_trigger.sql >./${dir}/bim_dm_trigger.sql
cat >>./${dir}/bim_dm_trigger.sql<<hcs
exit;
hcs
cat bim/bim_dm_data_init.sql >./${dir}/bim_dm_data_init.sql
cat >>./${dir}/bim_dm_data_init.sql<<hcs
exit;
hcs
cat bim/business_dm_data_init.sql >./${dir}/business_dm_data_init.sql
cat >>./${dir}/business_dm_data_init.sql<<hcs
exit;
hcs
# epass
cat epass/epass_dm_db_create.sql >./${dir}/epass_dm_db_create.sql
cat >>./${dir}/epass_dm_db_create.sql<<hcs
exit;
hcs
cat epass/epass_dm_20.0.2_all.sql >./${dir}/epass_dm_20.0.2_all.sql
cat >>./${dir}/epass_dm_20.0.2_all.sql<<hcs
exit;
hcs
# apphub
cat apphub/apphub_dm_db_create.sql >./${dir}/apphub_dm_db_create.sql
cat >>./${dir}/apphub_dm_db_create.sql<<hcs
exit;
hcs
cat apphub/apphub_dm_table_create.sql >./${dir}/apphub_dm_table_create.sql
cat >>./${dir}/apphub_dm_table_create.sql<<hcs
exit;
hcs
cat apphub/apphub_dm_data_sample.sql >./${dir}/apphub_dm_data_sample.sql
cat >>./${dir}/apphub_dm_data_sample.sql<<hcs
exit;
hcs
sed -i "s/Bamboocloud@1234/kupwd/g" ./${dir}/bam_dm_db_create.sql
sed -i "s/BAM/BAM${suffix}/g" ./${dir}/bam_dm_db_create.sql
sed -i "s/kupwd/${kupwd}/g" ./${dir}/bam_dm_db_create.sql
sed -i "s/Bamboocloud@1234/kupwd/g" ./${dir}/bim_dm_db_create.sql
sed -i "s/BIM/BIM${suffix}/g" ./${dir}/bim_dm_db_create.sql
sed -i "s/kupwd/${kupwd}/g" ./${dir}/bim_dm_db_create.sql
sed -i "s/Bamboocloud@1234/kupwd/g" ./${dir}/epass_dm_db_create.sql
sed -i "s/EPASS/EPASS${suffix}/g" ./${dir}/epass_dm_db_create.sql
sed -i "s/kupwd/${kupwd}/g" ./${dir}/epass_dm_db_create.sql
sed -i "s/Bamboocloud@1234/kupwd/g" ./${dir}/apphub_dm_db_create.sql
sed -i "s/APPHUB/APPHUB${suffix}/g" ./${dir}/apphub_dm_db_create.sql
sed -i "s/kupwd/${kupwd}/g" ./${dir}/apphub_dm_db_create.sql
$dmdispwd SYSDBA/"${sysdbapwd}":"${dmport}" \`./${dir}/bam_dm_db_create.sql
$dmdispwd SYSDBA/"${sysdbapwd}":"${dmport}" \`./${dir}/bim_dm_db_create.sql
$dmdispwd SYSDBA/"${sysdbapwd}":"${dmport}" \`./${dir}/epass_dm_db_create.sql
$dmdispwd SYSDBA/"${sysdbapwd}":"${dmport}" \`./${dir}/apphub_dm_db_create.sql
# bam 跑库表
eval "$dmdispwd BAM${suffix}/$dy$sy${kupwd}$sy$dy:${dmport} \\\`./${dir}/bam_dm_20.0.2_all.sql"
# bim 跑库表
eval "$dmdispwd BIM${suffix}/$dy$sy${kupwd}$sy$dy:${dmport} \\\`./${dir}/bim_dm_table_create.sql"
eval "$dmdispwd BIM${suffix}/$dy$sy${kupwd}$sy$dy:${dmport} \\\`./${dir}/business_dm_table_create.sql"
eval "$dmdispwd BIM${suffix}/$dy$sy${kupwd}$sy$dy:${dmport} \\\`./${dir}/bim_dm_trigger.sql"
eval "$dmdispwd BIM${suffix}/$dy$sy${kupwd}$sy$dy:${dmport} \\\`./${dir}/bim_dm_data_init.sql"
eval "$dmdispwd BIM${suffix}/$dy$sy${kupwd}$sy$dy:${dmport} \\\`./${dir}/business_dm_data_init.sql"
# epass跑库表
eval "$dmdispwd EPASS${suffix}/$dy$sy${kupwd}$sy$dy:${dmport} \\\`./${dir}/epass_dm_20.0.2_all.sql"
# apphub跑库表
eval "$dmdispwd APPHUB${suffix}/$dy$sy${kupwd}$sy$dy:${dmport} \\\`./${dir}/apphub_dm_table_create.sql"
eval "$dmdispwd APPHUB${suffix}/$dy$sy${kupwd}$sy$dy:${dmport} \\\`./${dir}/apphub_dm_data_sample.sql"
endtime=`date +'%Y-%m-%d %H:%M:%S'`
start_seconds=$(date --date="$starttime" +%s);
end_seconds=$(date --date="$endtime" +%s);
echo
echo
echo
echo "====================hcs============================"
echo "开始时间:" $starttime
echo "结束时间:" $endtime
echo "本次跑库耗时: "$((end_seconds-start_seconds))"s"
echo "====================hcs============================"
dm-des
#!/bin/bash
#==============================================================#
# 脚本名 : hcs_dm_destroyall.sh
# 创建时间 : 2022-12-28 10:02:09
# 更新时间 : 2022-12-29 10:30:18
# 描述 : 使用脚本,根据输入的后缀不同 一键删除dm数据库的表空间和表
# 路径 : 需与oneaccess dm版本的sql目录在同一路径下
# 版本 : 1.0.0
# 作者 : dongjelababy(18271632505@163.com)
# Copyright (C) 2021-2022 HCS
#==============================================================#
#==============================================================#
# HCS_DM #
#==============================================================#
# 获取达梦的安装目录
dmdispwd=$(find / -path *bin/disql | head -1)
read -p "请输入dm服务端口,默认值 ==> (5236) : " dmport
read -p "请输入dm超管密码,默认值 ==> (SYSDBA) : " sysdbapwd
read -p "请输入需要删除的oneaccess库及用户的后缀,默认为空串: " suffix
suffix=${suffix:-""}
sysdbapwd=${sysdbapwd:-"SYSDBA"}
dmport=${dmport:-"5236"}
if [ "$suffix" = "" ]; then
read -p "后缀为空,请确认是否删除(yes/no):" input
input=$(echo "$input" | tr "[A-Z]" "[a-z]")
if [ "$input" = "yes" ]; then
echo "yes go"
else
exit
fi
else
echo go!
fi
$dmdispwd SYSDBA/${sysdbapwd}:${dmport} -e "drop user bam${suffix} cascade;"
$dmdispwd SYSDBA/${sysdbapwd}:${dmport} -e "drop TABLESPACE bam${suffix};"
$dmdispwd SYSDBA/${sysdbapwd}:${dmport} -e "drop user bim${suffix} cascade;"
$dmdispwd SYSDBA/${sysdbapwd}:${dmport} -e "drop TABLESPACE bim${suffix};"
$dmdispwd SYSDBA/${sysdbapwd}:${dmport} -e "drop user epass${suffix} cascade;"
$dmdispwd SYSDBA/${sysdbapwd}:${dmport} -e "drop TABLESPACE epass${suffix};"
$dmdispwd SYSDBA/${sysdbapwd}:${dmport} -e "drop user apphub${suffix} cascade;"
$dmdispwd SYSDBA/${sysdbapwd}:${dmport} -e "drop TABLESPACE apphub${suffix};"
# $dmdispwd SYSDBA/${sysdbapwd}:${dmport} -e <<eof
# drop user bam${suffix} cascade;
# drop tablespace bam${suffix};
# eof
好吧 重新用一台机器跑了一下 居然 五秒就够了…
是机器的问题不是数据库的原因