五月婷婷丁香性爱|j久久一级免费片|久久美女福利视频|中文观看在线观看|加勒比四区三区二|亚洲裸女视频网站|超碰97AV在线69网站免费观看|有码在线免费视频|久久青青日本视频|亚洲国产AAAA

云數(shù)據(jù)庫(kù)GaussDB 查詢(xún)表

· SELECT語(yǔ)句中禁用慎用通配符字段“*”。

使用通配符字段查詢(xún)表時(shí),如果因業(yè)務(wù)或數(shù)據(jù)庫(kù)升級(jí)導(dǎo)致表結(jié)構(gòu)發(fā)生變化,可能出現(xiàn)與業(yè)務(wù)語(yǔ)句不兼容的情況。 因此業(yè)務(wù)應(yīng)指明所需查詢(xún)的表字段名稱(chēng),避免使用通配符。

· 帶有LIMIT的查詢(xún)語(yǔ)句中必須帶有ORDER BY保證有序。

說(shuō)明:GaussDB是一種分布式數(shù)據(jù)庫(kù),表數(shù)據(jù)將分布在多個(gè)DN上。

如果SQL語(yǔ)句中只帶有LIMIT,而不帶有ORDER BY子句,數(shù)據(jù)庫(kù)將會(huì)把網(wǎng)絡(luò)傳輸較快的DN所發(fā)送的(符合查詢(xún)要求的)結(jié)果作為最終結(jié)果輸出到客戶(hù)端。

由于網(wǎng)絡(luò)傳輸效率不同時(shí)刻可能發(fā)生改變,因此導(dǎo)致多次執(zhí)行該SQL語(yǔ)句時(shí),返回結(jié)果表現(xiàn)出不一致的情況。

· 避免對(duì)大字段(如VARCHAR(2000))執(zhí)行ORDER BY、DISTINCT、GROUP BY、UNION等會(huì)引起排序的操作。

此類(lèi)操作將消耗大量的CPU和內(nèi)存資源,執(zhí)行效率低下。

· 禁止使用慎用LOCK TABLE語(yǔ)句加鎖,僅允許應(yīng)考慮使用 SELECT .. FOR UPDATE語(yǔ)句。

LOCK TABLE提供多種鎖級(jí)別,但如果對(duì)數(shù)據(jù)庫(kù)原理和業(yè)務(wù)理解不足,誤用表鎖可能觸發(fā)死鎖,導(dǎo)致集群不可用。

· 避免在SELECT目標(biāo)列中使用子查詢(xún),可能導(dǎo)致計(jì)劃無(wú)法下推到DN執(zhí)行,影響執(zhí)行性能。

· 考慮使用UNION ALL,少使用UNION,注意考慮去重。

UNION ALL不去重,少了排序操作,速度相對(duì)UNION更快。

如果沒(méi)有去重的需求,優(yōu)先使用UNION ALL。

· 需要統(tǒng)計(jì)表中所有記錄數(shù)時(shí),不要使用count(col)來(lái)替代count(*)。count(*)會(huì)統(tǒng)計(jì)NULL值(真實(shí)行數(shù)),而count(col)不會(huì)統(tǒng)計(jì)。

· 在執(zhí)行count(col)時(shí),將“值為NULL”的記錄行計(jì)數(shù)為0。在執(zhí)行sum(col)時(shí),當(dāng)所有記錄都為NULL時(shí),最終將返回NULL;當(dāng)不全為NULL時(shí),“值為NULL”的記錄行將被計(jì)數(shù)為0。

· count(多個(gè)字段)時(shí),多個(gè)字段名必須用圓括號(hào)括起來(lái)。例如,count( (col1,col2,col3) )。注意:通過(guò)多字段統(tǒng)計(jì)行數(shù)時(shí),即使所選字段都為NULL,該行也被計(jì)數(shù),效果與count(*)一致。

· count(distinct col)用來(lái)計(jì)算該列不重復(fù)的非NULL的數(shù)量, NULL將不被計(jì)數(shù)。

· count(distinct (col1,col2,...))用來(lái)統(tǒng)計(jì)多列的唯一值數(shù)量,當(dāng)所有統(tǒng)計(jì)字段都為NULL時(shí),也會(huì)被計(jì)數(shù),同時(shí)這些記錄被認(rèn)為是相同的。

· 使用連接操作符“ ||”替換concat函數(shù)進(jìn)行字符串連接。因?yàn)閏oncat函數(shù)生成的執(zhí)行計(jì)劃不能下推,導(dǎo)致查詢(xún)性能?chē)?yán)重劣化。

· 當(dāng)in(val1, val2, val3…)表達(dá)式中字段較多時(shí),建議使用in (values(va11), (val2),(val3)…)語(yǔ)句進(jìn)行替換。優(yōu)化器會(huì)自動(dòng)把in約束轉(zhuǎn)換為非關(guān)聯(lián)子查詢(xún),從而提升查詢(xún)性能。

· 避免頻繁使用下使用count()獲取大表行數(shù),該操作資源消耗較大,影響并行作業(yè)執(zhí)行效率。

如果不需要實(shí)時(shí)的行數(shù)統(tǒng)計(jì)信息,可以嘗試使用如下語(yǔ)句來(lái)獲取表行數(shù)。

SELECT reltules FROM pg_class WHERE relname = 'tablename';


須知:

pg_class中所記錄的表行數(shù)信息只會(huì)在對(duì)該表執(zhí)行ANALYZE以后才會(huì)更新。

目前ANALYZE有兩種觸發(fā)條件:

1)業(yè)務(wù)主動(dòng)發(fā)送ANALYZE語(yǔ)句,例如:

--分析連接庫(kù)中所有表

ANALYZE;

--分析指定表

ANALYZE tablename;

2)助AUTO VACCUUM機(jī)制,在每間隔一定時(shí)間或表的增刪達(dá)到一定行數(shù)時(shí)觸發(fā)。間隔時(shí)間和增刪比例可通過(guò)GUC參數(shù)設(shè)置。

云數(shù)據(jù)庫(kù)GaussDB優(yōu)勢(shì)

GaussDB數(shù)據(jù)庫(kù)具有高性能、高可用、高安全、低成本的特點(diǎn)

云數(shù)據(jù)庫(kù)GaussDB優(yōu)勢(shì)

GaussDB數(shù)據(jù)庫(kù)具有高性能、高可用、高安全、低成本的特點(diǎn)

#

優(yōu)勢(shì)詳情

  • 1

    高安全

    GaussDB擁有TOP級(jí)的商業(yè)數(shù)據(jù)庫(kù)安全特性:數(shù)據(jù)動(dòng)態(tài)脫敏,TDE透明加密,行級(jí)訪問(wèn)控制,密態(tài)計(jì)算。

    能夠滿(mǎn)足政企&金融級(jí)客戶(hù)的核心安全訴求。

  • 2

    健全的工具與服務(wù)化能力

    GaussDB已經(jīng)擁有華為云,商用服務(wù)化部署能力,同時(shí)支持DAS、UGO、DRS等生態(tài)工具。

    有效保障用戶(hù)開(kāi)發(fā)、運(yùn)維、優(yōu)化、監(jiān)控、遷移等日常工作需要。

  • 3

    全棧自研


    GaussDB基于鯤鵬生態(tài),是當(dāng)前國(guó)內(nèi)唯一能夠做到全棧自主可控的國(guó)產(chǎn)品牌。

    同時(shí)GaussDB能夠基于硬件優(yōu)勢(shì)在底層不斷進(jìn)行優(yōu)化,提升產(chǎn)品綜合性能。

  • 4

    開(kāi)源生態(tài)

    GaussDB已經(jīng)支持開(kāi)源社區(qū),并提供主備版版本下載。

云數(shù)據(jù)庫(kù)GaussDB性能白皮書(shū)

云數(shù)據(jù)庫(kù)GaussDB性能白皮書(shū)

  • 測(cè)試方法

    提供GaussDB使用BenchmarkSQL進(jìn)行性能測(cè)試的方法和測(cè)試數(shù)據(jù)報(bào)告。

    BenchmarkSQL,一個(gè)JDBC基準(zhǔn)測(cè)試工具,內(nèi)嵌了TPC-C測(cè)試腳本,支持很多數(shù)據(jù)庫(kù),如PostgreSQL、Oracle和Mysql等。

    TPC-C是專(zhuān)門(mén)針對(duì)聯(lián)機(jī)交易處理系統(tǒng)(OLTP系統(tǒng))的規(guī)范,一般情況下我們也把這類(lèi)系統(tǒng)稱(chēng)為業(yè)務(wù)處理系統(tǒng)。幾乎所有在OLTP市場(chǎng)提供軟硬平臺(tái)的國(guó)外主流廠商都發(fā)布了相應(yīng)的TPC-C測(cè)試結(jié)果,隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,這些測(cè)試結(jié)果也在不斷刷新。

    測(cè)試環(huán)境

    局點(diǎn):華為云。

    實(shí)例類(lèi)型:分布式。

    規(guī)格選擇:16U128G和32U256G。

    集群規(guī)模:3CN,3分片,3副本。

    測(cè)試方法

    1.修改連接配置。

    配置文件所在目錄為:./run/props.pg

    2.重點(diǎn)參數(shù)修改。

    //連接配置

    conn=jdbc:postgresql://127.0.0.1:8000/postgres?autoBalance=true

    //連接用戶(hù)名

    user=****

    //連接密碼

    password=****

    //壓入數(shù)據(jù)量

    warehouses=1000

    //壓入并發(fā)

    loadWorkers=10

    //業(yè)務(wù)并發(fā)

    terminals=2048

    //運(yùn)行時(shí)間

    runMins=30

    3.壓數(shù)據(jù)

    cd ~/BenchmarkSQL-5.0/run

    ./runDatabaseBuild.sh props.pg

    4.運(yùn)行tpcc業(yè)務(wù)場(chǎng)景

    cd ~/BenchmarkSQL-5.0/run

    ./runBenchmark.sh props.pg

    建表語(yǔ)句,具體見(jiàn)鏈接


    測(cè)試指標(biāo)

    流量指標(biāo)(Throughput,簡(jiǎn)稱(chēng)tpmC):按照TPC組織的定義,流量指標(biāo)描述了系統(tǒng)在執(zhí)行支付操作、訂單狀態(tài)查詢(xún)、發(fā)貨和庫(kù)存狀態(tài)查詢(xún)這4種交易的同時(shí),每分鐘可以處理多少個(gè)新訂單交易。

    所有交易的響應(yīng)時(shí)間必須滿(mǎn)足TPC-C測(cè)試規(guī)范的要求,且各種交易數(shù)量所占的比例也應(yīng)該滿(mǎn)足TPC-C測(cè)試規(guī)范的要求。

    在這種情況下,流量指標(biāo)值越大說(shuō)明系統(tǒng)的聯(lián)機(jī)事務(wù)處理能力越高。

  • 測(cè)試數(shù)據(jù)

    1.實(shí)例類(lèi)型:分布式

    2.實(shí)例規(guī)格:16U128G和32U256G。

    3.集群規(guī)模:3CN,3分片,3副本。

    4.數(shù)據(jù)量:3000wh

    5.壓測(cè)時(shí)長(zhǎng):30min(預(yù)熱5min)