电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

DB2 V9.5工作負(fù)載管理之工作類和工作操作

瀏覽:136日期:2023-11-09 11:41:25
在 DB2 V9.5 中,新引入的工作負(fù)載管理功能( WLM )可以幫助您標(biāo)識(shí)、管理和監(jiān)視數(shù)據(jù)服務(wù)器的工作負(fù)載。本文將重點(diǎn)介紹 DB2 V9.5 工作負(fù)載管理( WLM )中的工作類( WORK CLASS )和工作操作( WORK ACTION )的相關(guān)概念,并結(jié)合實(shí)際的例子幫助大家理解和提高。

取消一個(gè)數(shù)據(jù)庫活動(dòng)

在我們生產(chǎn)系統(tǒng)中,可能存在一些正在運(yùn)行的大 SQL,這些活動(dòng)消耗了太多的資源。如果我們想停止這些正在執(zhí)行的活動(dòng),可以調(diào)用 WLM_CANCEL_ACTIVITY() 存儲(chǔ)過程,如果想捕獲一個(gè)活動(dòng)的詳細(xì)信息可以調(diào)用 WLM_CAPTURE_ACTIVITY_IN_PROGRESS() 存儲(chǔ)過程,如果想收集和重置一個(gè)工作負(fù)載對(duì)象的統(tǒng)計(jì)信息可以調(diào)用 WLM_COLLECT_STATS()。這些存儲(chǔ)過程的具體信息如下:

WLM_CANCEL_ACTIVITY ( application_handle , uow_id , activity_id ) .

可以使用這個(gè)存儲(chǔ)過程來取消一個(gè)正在運(yùn)行或者正在排隊(duì)的活動(dòng)。對(duì)某個(gè)特定的活動(dòng)來說,我們可以使用應(yīng)用程序句柄、工作單元標(biāo)識(shí)和活動(dòng)標(biāo)識(shí)來唯一標(biāo)識(shí)。使用這個(gè)存儲(chǔ)過程,我們可以取消任何類型的活動(dòng)。當(dāng)這個(gè)存儲(chǔ)過程執(zhí)行后,被取消的特定活動(dòng)將收到 SQL4725N 的錯(cuò)誤信息。

WLM_CAPTURE_ACTIVITY_IN_PROGRESS ( application_handle , uow_id , activity_id ) .

我們可以使用這個(gè)存儲(chǔ)過程捕獲特定活動(dòng)的詳細(xì)信息,并發(fā)送給活動(dòng)事件監(jiān)控器。這個(gè)存儲(chǔ)過程會(huì)立即發(fā)送信息,而不是等待該活動(dòng)完成再發(fā)送。

WLM_COLLECT_STATS ( ) .

使用這個(gè)存儲(chǔ)過程可以用來收集和重置工作負(fù)載對(duì)象統(tǒng)計(jì)信息。所有跟蹤收集的服務(wù)類、工作負(fù)載、閾值隊(duì)列和工作動(dòng)作集統(tǒng)計(jì)信息,都會(huì)發(fā)送給活動(dòng)統(tǒng)計(jì)信息事件監(jiān)控器(如果存在)并重置。如果沒有活動(dòng)統(tǒng)計(jì)信息事件監(jiān)控器,那么統(tǒng)計(jì)信息將只重置,而不收集。

以上存儲(chǔ)過程調(diào)用中需要的應(yīng)用程序句柄( application_handle )、工作單元標(biāo)識(shí)( uow_id )、活動(dòng)標(biāo)識(shí)( activity_id ),可以通過調(diào)用表函數(shù) WLM_GET_WORKLOAD_OCCURRENCE_ACTIVITIES 來獲得。

我們繼續(xù)在窗口 1 用 ADMINISTRATOR 用戶連接示例數(shù)據(jù)庫 DB2TEST1,在窗口 2 用 RHETTE 用戶連接示例數(shù)據(jù)庫 DB2TEST1,并在窗口 2 中執(zhí)行一個(gè)大的查詢,具體如清單 23 所示:

清單23 . 在窗口 2 中執(zhí)行一個(gè)大的查詢

C:> db2 connect to db2test1 user rhette using passw0rd

數(shù)據(jù)庫連接信息

數(shù)據(jù)庫服務(wù)器 = DB2 / NT 9.5.0

SQL 授權(quán)標(biāo)識(shí) = DB2ADMIN

本地?cái)?shù)據(jù)庫別名 = DB2TEST1

C:> db2 select count ( * ) from rhette.project , rhette.project , rhette.projec

t , rhette.project , rhette.project , rhette.project

在窗口 2 中的大型查詢完成之前,在窗口 1 中調(diào)用表函數(shù) WLM_GET_WORKLOAD_OCCURRENCE_ACTIVITIES,來獲得窗口 2 中正在進(jìn)行的大型查詢的應(yīng)用程序句柄( application_handle )、工作單元標(biāo)識(shí)( uow_id )、活動(dòng)標(biāo)識(shí)( activity_id )信息,在獲得這些信息后,如果還想查看更詳細(xì)的信息,可以根據(jù)應(yīng)用程序句柄通過 LIST APPLICATIONS SHOW DETAIL 來查看。具體如清單 24 所示:

清單 24 . 在窗口 1 中調(diào)用表函數(shù) WLM_GET_WORKLOAD_OCCURRENCE_ACTIVITIES

C:> db2 - tvf get_wkld_activities.txt

SELECT T.APPLICATION_HANDLE , T.UOW_ID , T.ACTIVITY_ID , T.ACTIVITY_TYPE ,

T.ACTIVITY_TYPE , T.ACTIVITY_STATE , T.LOCAL_START_TIME FROM

TABLE( WLM_GET_WORKLOAD_OCCURRENCE_ACTIVITIES ( CAST ( NULL AS BIGINT ) , -2 ) ) T

ORDER BY T.LOCAL_START_TIME

APPLICATION

_HANDLE UOW_ID ACTIVITY_ID ACTIVITY_TYPE ACTIVITY_STATE

LOCAL_START_TIME

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

80 7 1 READ_DML EXECUTING

2008-01-02-17.01.25.306889

81 10 1 READ_DML EXECUTING

2008-01-02-17.01.32.253342

2 條記錄已選擇。

接下來我們來看一下如何取消窗口 2 中正在進(jìn)行的大型查詢,在窗口 1 中調(diào)用 WLM_CANCEL_ACTIVITY 存儲(chǔ)過程,輸入?yún)?shù)使用在清單 24 中獲得的應(yīng)用程序句柄( application_handle )、工作單元標(biāo)識(shí)( uow_id )、活動(dòng)標(biāo)識(shí)( activity_id ),具體如清單 25 所示:

清單25 . 在窗口 1 中調(diào)用 WLM_CANCEL_ACTIVITY 存儲(chǔ)過程取消特定活動(dòng)

C:> db2 call WLM_CANCEL_ACTIVITY( 80 , 7 , 1 )

返回狀態(tài) = 0

此時(shí)窗口 2 中正在執(zhí)行的大型查詢會(huì)收到“ SQL4725N 已取消該活動(dòng)。 SQLSTATE = 57014 ”的相關(guān)信息,具體如清單 26 所示:

清單 26 . 在窗口 2 中獲得特定活動(dòng)取消的相關(guān)信息

C:> db2 select count ( * ) from rhette.project , rhette.project , rhette.projec

t , rhette.project , rhette.project , rhette.project

1

- - - - - - - - - - - - - - - - -

SQL4725N 已取消該活動(dòng)。 SQLSTATE = 57014

工作類( WORK CLASS )和工作操作( WORK ACTION )

除了使用工作所在的數(shù)據(jù)庫連接屬性標(biāo)識(shí)數(shù)據(jù)庫活動(dòng)以外,你還可以通過創(chuàng)建可選的工作類,通過基于工作的類型來標(biāo)識(shí)數(shù)據(jù)庫活動(dòng)。這些類型屬性可以是 READ , WRITE , DML , DDL , LOAD , CALL ,ALL。工作類型屬性具體的介紹如下:

READ

此屬性對(duì)應(yīng)的活動(dòng)包括以下語句:

所有的 SELECT 或者 SELECT INTO 語句,并且語句中不包含 DELETE , INSERT , MERGE , UPDATE 語句;

所有的 VALUES INTO 語句;

所有的 XQuery 語句。

WRITE

此屬性對(duì)應(yīng)的活動(dòng)包括以下語句:

所有的 UPDATE 語句;

所有的 DELETE 語句;

所有的 INSERT 語句;

所有的 MERGE 語句;

所有的包含 DELETE, INSERT, UPDATE 的SELECT 語句;

所有的 XQuery 語句。

CALL

此屬性對(duì)應(yīng)的活動(dòng)包括所有的 CALL 語句。如果想讓工作類包含一個(gè) CALL 語句 ,其工作類型可以是 CALL 或者 ALL。

DML

所有在 READ 和 WRITE 中出現(xiàn)的語句都是 DML 語句。

DDL

此屬性對(duì)應(yīng)的活動(dòng)包括以下語句:

所有的 ALTER 語句;

所有的 CREATE 語句;

所有的 COMMENT 語句;

所有的 DECLARE GLOBAL TEMPORARY TABLE 語句;

所有的 DROP 語句;

所有的 FLUSH PACKAGE CACHE 語句;

所有的 GRANT 語句;

所有的 REFRESH TABLE 語句;

所有的 RENAME 語句;

所有的 REVOKE 語句;

所有的 SET INTEGRITY 語句;

LOAD

此屬性對(duì)應(yīng)的活動(dòng)包括所有的 LOAD 操作。

ALL

此屬性對(duì)應(yīng)的活動(dòng)可以是以上屬性中出現(xiàn)任意一個(gè)活動(dòng)。

工作操作( WORK ACTION )是一個(gè)用來控制某一種類型工作所對(duì)應(yīng)數(shù)據(jù)庫活動(dòng)的方法。簡(jiǎn)單的說就是,當(dāng)數(shù)據(jù)庫活動(dòng)滿足已經(jīng)定義好的工作類( WORK CLASS )所涉及的范圍時(shí),就會(huì)觸發(fā)相應(yīng)的工作操作( WORK ACTION )。

下面我們?cè)诖翱?1 中,發(fā)出 CREATE WORK CLASS SET 命令,創(chuàng)建工作類集 myquery,其下包含三個(gè)工作類,分別是針對(duì)小型查詢的 smallquery,針對(duì)中型查詢的 mediumquery 以及針對(duì)大型查詢的 largequery,工作類型都是 DML,具體如清單 27 所示:

清單 27 . 在窗口 1 中創(chuàng)建工作類集

C:> db2 connect to db2test1 user administrator using passw0rd

數(shù)據(jù)庫連接信息

數(shù)據(jù)庫服務(wù)器 = DB2 / NT 9.5.0

SQL 授權(quán)標(biāo)識(shí) = ADMINIST . . .

本地?cái)?shù)據(jù)庫別名 = DB2TEST1

C:> db2 - tvf crtWorkClassSet.sql

drop work class set myquery

DB21034E 該命令被當(dāng)作 SQL 語句來處理,因?yàn)樗菬o效的“命令行處理器”命令。在

SQL 處理期間,它返回:

SQL0204N ' MYQUERY ' 是一個(gè)未定義的名稱。 SQLSTATE = 42704

create work class set myquery (

work class smallQuery work type dml

for timeroncost from 1 to 1000 ,

work class mediumQuery work type dml

for timeroncost from 1000 to 100000 ,

work class largeQuery work type dml

for timeroncost from 100000 tounbounded )

DB20000I SQL命令成功完成。

命令成功完成,這樣我們就創(chuàng)建了一個(gè)工作類集和三個(gè)工作類。工作類 smallQuery 包含的范圍是:當(dāng)一個(gè)特定的 DML 活動(dòng),其估計(jì)成本大于 1 timeron 且小于等于 1000 timerons。需要注意的是,成本是由 CPU 成本(以指令數(shù)計(jì))和 I/O(以尋道數(shù)和頁的轉(zhuǎn)換數(shù)計(jì))的組合得出的。成本的單位是 timeron。timeron 不直接等于任何實(shí)際的所用時(shí)間,只是給出粗略估計(jì)的資源(成本)。工作類 mediumQuery 包含的范圍是:當(dāng)一個(gè)特定的 DML 活動(dòng),其估計(jì)成本大于 1000 timeron 且小于等于 100000 timerons。工作類 largeQuery 包含的范圍是:當(dāng)一個(gè)特定的 DML 活動(dòng),其估計(jì)成本大于 100000 timeron ,沒有上限。

下面我們繼續(xù)在窗口 1 中創(chuàng)建相應(yīng)的工作動(dòng)作集以及工作動(dòng)作。發(fā)出 CREATE WORK ACTION SET 命令,創(chuàng)建工作動(dòng)作集 MYWORKACTION,并創(chuàng)建面向工作類 smallQuery 的工作動(dòng)作 smallQueryAction ,面向工作類 mediumQuery 的工作動(dòng)作 mediumQueryAction,面向工作類 largeQuery 的工作動(dòng)作 largeQueryAction,具體如清單 28 所示:

清單 28 . 在窗口 1 中創(chuàng)建工作動(dòng)作集

C:> db2 - tvf crtWorkActionSet.sql

alter work action set MYWORKACTION

alter smallQueryAction disable

alter mediumQueryAction disable

alter largeQueryAction disable

DB20000I SQL命令成功完成。

drop work action set MYWORKACTION

DB20000I SQL命令成功完成。

create work action set MYWORKACTION for database using work class set MYQUERY

( work action smallQueryAction on work class smallQuery

count activity,

work action mediumQueryAction on work class mediumQuery

collect activity data with details and values ,

work action largeQueryAction on work class largeQuery

when concurrentdbcoordactivities > 1 and queuedactivities > 1 stop execution )

DB20000I SQL命令成功完成。

命令成功完成。這樣我們就創(chuàng)建了 1 個(gè)工作動(dòng)作集和 3 個(gè)工作動(dòng)作。

工作動(dòng)作集 MYWORKACTION 對(duì)應(yīng)的工作類集 MYQUERY。工作動(dòng)作 smallQueryAction 對(duì)應(yīng)的工作類是 smallQuery,且指定了 count activity 選項(xiàng),含義是指定工作類 smallQuery 所對(duì)應(yīng)的數(shù)據(jù)庫活動(dòng),只要其任何一個(gè)在運(yùn)行,則這個(gè)工作類的計(jì)數(shù)器就會(huì)累積增長(zhǎng)。

工作動(dòng)作 mediumQueryAction 對(duì)應(yīng)的工作類是 mediumQuery,且指定了 collect activity data with details and values 選項(xiàng),collect activity data 的含義是當(dāng)工作類 mediumQuery 相關(guān)的每一個(gè)活動(dòng)完成后,都將其數(shù)據(jù)發(fā)送給相關(guān)合適的事件監(jiān)控器;with details 的含義是當(dāng)相關(guān)的活動(dòng)完成后,還要把相關(guān)的語句和編譯環(huán)境發(fā)送給相關(guān)的時(shí)間監(jiān)控器;and values 的含義是那些活動(dòng)相關(guān)的輸入數(shù)據(jù)值也發(fā)送給相關(guān)的事件監(jiān)控器。

工作動(dòng)作 largeQueryAction 對(duì)應(yīng)的工作類是 largeQuery,且指定了 when concurrentdbcoordactivities > 1 and queuedactivities > 1 stop execution 選項(xiàng),含義是當(dāng)并發(fā)的數(shù)據(jù)庫協(xié)調(diào)器活動(dòng)( database coordinator activities )大于 1 時(shí),數(shù)據(jù)庫管理器將對(duì)活動(dòng)進(jìn)行排隊(duì),對(duì)后來的數(shù)據(jù)庫協(xié)調(diào)器活動(dòng)(比如一個(gè)查詢)放入排隊(duì)隊(duì)列。并且當(dāng)排隊(duì)的活動(dòng)也大于1時(shí),數(shù)據(jù)庫活動(dòng)將不允許執(zhí)行。

下面我們繼續(xù)在窗口 2 中用 RHETTE 用戶連接示例數(shù)據(jù)庫 DB2TEST1,并執(zhí)行兩個(gè)查詢,在窗口 3 中用 RHETTE 用戶連接示例數(shù)據(jù)庫 DB2TEST1 ,也執(zhí)行兩個(gè)相同的查詢,然后在窗口 2 中通過調(diào)用表函數(shù) WLM_GET_WORK_ACTION_SET_STATS ,查看工作動(dòng)作集的狀態(tài),具體如清單 29 所示:

清單 29. 在窗口 2 中執(zhí)行兩個(gè)查詢

C:> db2 connect to db2test1 user rhette using passw0rd

數(shù)據(jù)庫連接信息

數(shù)據(jù)庫服務(wù)器 = DB2 / NT 9.5.0

SQL 授權(quán)標(biāo)識(shí) = RHETTE

本地?cái)?shù)據(jù)庫別名 = DB2TEST1

C:> db2 select count ( * ) from project , project , project

1

- - - - - - - - - - - - - - - - - - - - - -

8000

1 條記錄已選擇。

C:> db2 select count ( * ) from project , project , project , project , project

1

- - - - - - - - - - - - - - - - - - - - - -

3200000

1 條記錄已選擇。

清單 30. 在窗口 3 中執(zhí)行兩個(gè)查詢

C:> db2 connect to db2test1 user rhette using passw0rd

數(shù)據(jù)庫連接信息

數(shù)據(jù)庫服務(wù)器 = DB2 / NT 9.5.0

SQL 授權(quán)標(biāo)識(shí) = RHETTE

本地?cái)?shù)據(jù)庫別名 = DB2TEST1

C:> db2 select count ( * ) from project , project , project

1

- - - - - - - - - - - - - - - - - - - - - -

8000

1 條記錄已選擇。

C:> db2 select count ( * ) from project , project , project , project , project , project

1

- - - - - - - - - - - - - - - - - - - - - -

64000000

1 條記錄已選擇。

清單 31. 在窗口 2 中查看工作動(dòng)作集的狀態(tài)

C:> db2 select substr( work_action_set_name , 1 , 18 ) as work_action_set_name ,

substr ( char ( dbpartitionnum ) , 1 , 4 ) as part ,

substr ( work_class_name , 1 , 15 ) as work_class_name , last_reset ,

substr ( char ( act_total ) , 1 , 14 ) as total_wlo_acts from

table ( WLM_GET_WORK_ACTION_SET_STATS ( cast ( null as varchar ( 128 ) ) , -2 ) )

as wasstats order by work_action_set_name , work_class_name , part

WORK_ACTION_SET_NAME PART WORK_CLASS_NAME LAST_RESET TOTAL_WLO_ACTS

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

MYWORKACTION 0 * 2008-01-03-14.26.15.293798 0

MYWORKACTION 0 LARGEQUERY 2008-01-03-14.26.15.293791 1

MYWORKACTION 0 MEDIUMQUERY 2008-01-03-14.26.15.293754 1

MYWORKACTION 0 SMALLQUERY 2008-01-03-14.26.15.293717 3

4 條記錄已選擇。

命令成功完成。

接下來我們看一下如果同時(shí)在三個(gè)窗口執(zhí)行同樣的大型 SQL,會(huì)出現(xiàn)什么樣的狀況。首先在窗口 1 中執(zhí)行一個(gè)大型查詢 SQL,同時(shí)在窗口 2、3 也同時(shí)執(zhí)行同樣的大型 sql,在窗口 3 會(huì)報(bào)“ SQL4712N 已超過閾值 =‘SQL080103142608430’。原因碼 = ‘6’。 SQLSTATE = 5U026”錯(cuò)誤。窗口 1 和窗口 2 最終將查詢出結(jié)果集來。具體如清單 30 所示:

清單 32. 在窗口 1 中執(zhí)行大型查詢

C:> db2 connect to db2test1 user rhette using passw0rd

數(shù)據(jù)庫連接信息

數(shù)據(jù)庫服務(wù)器 = DB2 / NT 9.5.0

SQL 授權(quán)標(biāo)識(shí) = RHETTE

本地?cái)?shù)據(jù)庫別名 = DB2TEST1

C:> db2 select count ( * ) from project , project , project , project , project , project

1

- - - - - - - - - - - - - - - - - - - - - -

64000000

1 條記錄已選擇。

清單 33. 在窗口 2 中執(zhí)行大型查詢

C:> db2 select count ( * ) from project , project , project , project , project , project

1

- - - - - - - - - - - - - - - - - - - - - -

64000000

1 條記錄已選擇。

清單 34. 在窗口 3 中執(zhí)行大型查詢

C:> db2 select count ( * ) from project , project , project , project , project ,

project

SQL4712N 已超過閾值 ' SQL080103142608430 '。原因碼 = ' 6 '。 SQLSTATE = 5U026

總結(jié)工作負(fù)載管理( WLM )

通過上面的講述和具體的例子,我們可以發(fā)現(xiàn)使用 DB2 V9.5 工作負(fù)載管理( WLM )可以更好地控制系統(tǒng)資源,增加了可預(yù)測(cè)性和穩(wěn)定性。我們可以定義一個(gè)混合的工作負(fù)載來滿足復(fù)雜的場(chǎng)景需求。針對(duì)越來越復(fù)雜的數(shù)據(jù)庫活動(dòng),我們可以預(yù)定義一組工作負(fù)載,并使用相應(yīng)的服務(wù)類、閾值、工作類和工作動(dòng)作來標(biāo)識(shí)數(shù)據(jù)庫活動(dòng)并將它們隔離在自己的執(zhí)行環(huán)境中,并給其分配達(dá)到我們?cè)O(shè)定目標(biāo)所需要的適當(dāng)資源。在環(huán)境或服務(wù)類中,您可以顯式管理系統(tǒng)資源,以便較重要的資源可供較高優(yōu)先級(jí)的工作使用,并可以控制或消除與較低優(yōu)先級(jí)工作的爭(zhēng)用情況。

當(dāng)我們的生產(chǎn)系統(tǒng)在高峰期時(shí),增加的數(shù)據(jù)庫活動(dòng)會(huì)影響數(shù)據(jù)庫的性能,通過使用工作負(fù)載管理( WLM ),我們可以預(yù)先確定適當(dāng)?shù)馁Y源分配、活動(dòng)的優(yōu)先級(jí)劃分和排隊(duì)選項(xiàng)來高效地處理工作,從而可以平滑高峰工作負(fù)載。在您定義這些指示后,數(shù)據(jù)服務(wù)器使用它們來分配資源和劃分工作的優(yōu)先級(jí)。例如,您可以使工作遠(yuǎn)離流氓查詢的影響,這些查詢使用過量的數(shù)據(jù)庫資源,因此會(huì)對(duì)系統(tǒng)上運(yùn)行的其他查詢帶來負(fù)面影響并可能會(huì)影響整個(gè)數(shù)據(jù)庫。通過使用閾值,您可以使用許多不同特征(如執(zhí)行時(shí)間或系統(tǒng)臨時(shí)表空間使用量)來定義系統(tǒng)內(nèi)可接受的查詢行為,并定義對(duì)不按要求執(zhí)行的任何查詢要執(zhí)行哪些操作。這些操作包括收集關(guān)于查詢的詳細(xì)信息的功能以及自動(dòng)取消查詢的功能。

另外,通過使用 DB2 V9.5 新增的許多表函數(shù),我們可以動(dòng)態(tài)的監(jiān)視數(shù)據(jù)庫活動(dòng),可以讓我們清楚哪個(gè)工作當(dāng)前正在系統(tǒng)上運(yùn)行、它在分區(qū)上的分布情況以及是否有特定的活動(dòng)可能導(dǎo)致數(shù)據(jù)服務(wù)器上發(fā)生資源爭(zhēng)用情況。

標(biāo)簽: DB2 數(shù)據(jù)庫
主站蜘蛛池模板: 辐射色度计-字符亮度测试-反射式膜厚仪-苏州瑞格谱光电科技有限公司 | 固诺家居-全屋定制十大品牌_整体衣柜木门橱柜招商加盟 | 炒货机-炒菜机-炒酱机-炒米机@霍氏机械 | 可程式恒温恒湿试验箱|恒温恒湿箱|恒温恒湿试验箱|恒温恒湿老化试验箱|高低温试验箱价格报价-广东德瑞检测设备有限公司 | 喷码机,激光喷码打码机,鸡蛋打码机,手持打码机,自动喷码机,一物一码防伪溯源-恒欣瑞达有限公司 | 多功能三相相位伏安表-变压器短路阻抗测试仪-上海妙定电气 | 上海办公室装修,写字楼装修—启鸣装饰设计工程有限公司 | 光谱仪_积分球_分布光度计_灯具检测生产厂家_杭州松朗光电【官网】 | 尊享蟹太太美味,大闸蟹礼卡|礼券|礼盒在线预订-蟹太太官网 | 电子厂招聘_工厂招聘_普工招聘_小时工招聘信息平台-众立方招工网 | 青岛代理记账_青岛李沧代理记账公司_青岛崂山代理记账一个月多少钱_青岛德辉财税事务所官网 | 重庆网站建设,重庆网站设计,重庆网站制作,重庆seo,重庆做网站,重庆seo,重庆公众号运营,重庆小程序开发 | 光环国际-新三板公司_股票代码:838504 | 水上浮桥-游艇码头-浮动码头-游船码头-码瑞纳游艇码头工程 | 比士亚-专业恒温恒湿酒窖,酒柜,雪茄柜的设计定制 | 液氮罐_液氮容器_自增压液氮罐_杜瓦瓶_班德液氮罐厂家 | 深圳展厅设计_企业展馆设计_展厅设计公司_数字展厅设计_深圳百艺堂 | 沥青灌缝机_路面灌缝机_道路灌缝机_沥青灌缝机厂家_济宁萨奥机械有限公司 | 宝元数控系统|对刀仪厂家|东莞机器人控制系统|东莞安川伺服-【鑫天驰智能科技】 | ph计,实验室ph计,台式ph计,实验室酸度计,台式酸度计 | 叉车电池-叉车电瓶-叉车蓄电池-铅酸蓄电池-电动叉车蓄电池生产厂家 | 金属波纹补偿器厂家_不锈钢膨胀节价格_非金属伸缩节定制-庆达补偿器 | 铝合金线槽_铝型材加工_空调挡水板厂家-江阴炜福金属制品有限公司 | 贴板式电磁阀-不锈钢-气动上展式放料阀-上海弗雷西阀门有限公司 工业机械三维动画制作 环保设备原理三维演示动画 自动化装配产线三维动画制作公司-南京燃动数字 | 行业分析:提及郑州火车站附近真有 特殊按摩 ?2025实地踩坑指南 新手如何避坑不踩雷 | 背压阀|减压器|不锈钢减压器|减压阀|卫生级背压阀|单向阀|背压阀厂家-上海沃原自控阀门有限公司 本安接线盒-本安电路用接线盒-本安分线盒-矿用电话接线盒-JHH生产厂家-宁波龙亿电子科技有限公司 | 上海皓越真空设备有限公司官网-真空炉-真空热压烧结炉-sps放电等离子烧结炉 | 哈尔滨发电机,黑龙江柴油发电机组-北方星光 | 温控器生产厂家-提供温度开关/热保护器定制与批发-惠州市华恺威电子科技有限公司 | 智能楼宇-楼宇自控系统-楼宇智能化-楼宇自动化-三水智能化 | 罗氏牛血清白蛋白,罗氏己糖激酶-上海嵘崴达实业有限公司 | 网站优化公司_北京网站优化_抖音短视频代运营_抖音关键词seo优化排名-通则达网络 | 沈阳楼承板_彩钢板_压型钢板厂家-辽宁中盛绿建钢品股份有限公司 轴承振动测量仪电箱-轴承测振动仪器-测试仪厂家-杭州居易电气 | 在线钠离子分析仪-硅酸根离子浓度测定仪-油液水分测定仪价格-北京时代新维测控设备有限公司 | 真空冷冻干燥机_国产冻干机_冷冻干燥机_北京四环冻干 | 石油/泥浆/不锈钢防腐/砂泵/抽砂泵/砂砾泵/吸砂泵/压滤机泵 - 专业石油环保专用泵厂家 | 哈希余氯测定仪,分光光度计,ph在线监测仪,浊度测定仪,试剂-上海京灿精密机械有限公司 | 深圳宣传片制作_产品视频制作_深圳3D动画制作公司_深圳短视频拍摄-深圳市西典映画传媒有限公司 | 机制砂选粉机_砂石选粉机厂家-盐城市助成粉磨科技有限公司 | 圈酒招商网【jiushuitv.com】_酒水招商_代理_加盟平台 | 聚丙烯酰胺_阴离子_阳离子「用量少」巩义亿腾厂家直销,售后无忧 聚合甘油__盐城市飞龙油脂有限公司 |