

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 指定資料庫參數
<a name="USER_ParamValuesRef"></a>

資料庫參數類型包含下列各項：
+ Integer
+ 布林值
+ 字串
+ Long
+ Double
+ 時間戳記
+ 其他定義資料類型的物件
+ integer、Boolean、string、long、double、timestamp 或 object 參數類型的值陣列

您還可以使用運算式、公式和函數來指定整數及布林值參數。

**Contents**
+ [資料庫參數公式](#USER_ParamFormulas)
  + [資料庫參數公式變數](#USER_FormulaVariables)
  + [資料庫參數公式運算子](#USER_FormulaOperators)
+ [資料庫參數函數](#USER_ParamFunctions)
+ [資料庫參數對數運算式](#USER_ParamLogExpressions)
+ [資料庫參數值範例](#USER_ParamValueExamples)

## 資料庫參數公式
<a name="USER_ParamFormulas"></a>

資料庫參數公式是可以解析成整數值或布林值的運算式。以括號 \$1\$1 括住運算式。您可以針對資料庫參數值使用公式，或將公式指定為資料庫參數函數的引數。

**語法**  

```
{FormulaVariable}
{FormulaVariable*Integer}
{FormulaVariable*Integer/Integer}
{FormulaVariable/Integer}
```

### 資料庫參數公式變數
<a name="USER_FormulaVariables"></a>

每個公式變數都會傳回整數或布林值。變數的名稱區分大小寫。

*AllocatedStorage*  
返回表示資料磁碟區大小的整數 (字元組)。

*DBInstanceClassMemory*  
傳回一個整數，表示資料庫程序可用的記憶體位元組數。此數字是在內部從資料庫執行個體類別的總記憶體量開始計算得出的。其中，計算會減去為作業系統和管理執行個體的 RDS 程序保留的記憶體。因此，此數字永遠會低於 [Amazon Aurora 資料庫執行個體類別](Concepts.DBInstanceClass.md) 上執行個體類別表中顯示的記憶體容量。確切值取決於幾個綜合因素。其中包括執行個體類別、資料庫引擎，以及要套用至 RDS 執行個體還是屬於 Aurora 叢集的執行個體。

*DBInstanceVCPU*  
傳回表示 Amazon RDS 管理執行個體所用虛擬中央處理單元 (vCPU) 數目的整數。

*EndPointPort*  
返回表示連線至資料庫執行個體時所用連接埠的整數。

*TrueIfReplica*  
如果資料庫執行個體為僅供讀取複本，則傳回 `1`，若不是，則傳回 `0`。這是 Aurora MySQL 中 `read_only` 參數的預設值。

### 資料庫參數公式運算子
<a name="USER_FormulaOperators"></a>

資料庫參數公式支援兩種運算子：除法和乘法。

*除法運算子：/*  
用除數除以被除數，並傳回整數之商。商中的小數不進位，直接截斷。  
語法  

```
dividend / divisor
```
被除數和除數引數必須為整數運算式。

*乘法運算子：\$1*  
乘以運算式，並傳回運算式的乘積。運算式中的小數不進位，直接截斷。  
語法  

```
expression * expression
```
兩個運算式都必須為整數。

## 資料庫參數函數
<a name="USER_ParamFunctions"></a>

您可以將資料庫參數函數的引數指定為整數或公式。每個函數至少必須有一個引數。以逗號分隔的清單指定多個引數。清單不能有任何空成員，例如 *argument1*、*argument3*。函數名稱區分大小寫。

*IF*  
傳回引數。  
語法  

```
IF(argument1, argument2, argument3)
```
若第一個引數計算結果為 true，傳回第二個引數。否則，傳回第三個引數。

*GREATEST*  
從整數或參數公式清單中傳回最大值。  
語法  

```
GREATEST(argument1, argument2,...argumentn)
```
傳回整數。

*LEAST*  
從整數或參數公式清單中傳回最小值。  
語法  

```
LEAST(argument1, argument2,...argumentn)
```
傳回整數。

*SUM*  
新增指定整數或參數公式的值。  
語法  

```
SUM(argument1, argument2,...argumentn)
```
傳回整數。

## 資料庫參數對數運算式
<a name="USER_ParamLogExpressions"></a>

您可以將整數資料庫參數值設定為對數運算式。以括號 \$1\$1 括住運算式。例如：

```
{log(DBInstanceClassMemory/8187281418)*1000}
```

`log` 函數表示對數底數 2。此範例還會使用 `DBInstanceClassMemory` 公式變數。請參閱[資料庫參數公式變數](#USER_FormulaVariables)。

## 資料庫參數值範例
<a name="USER_ParamValueExamples"></a>

這些範例顯示使用資料庫參數值的公式、函數和運算式。

**警告**  
未正確設定資料庫參數群組中的參數，可能產生各種意外影響。這些影響可能包括降低效能和系統不穩定。修改資料庫參數時請謹慎，在修改資料庫參數群組之前，請備份您的資料。請在測試資料庫執行個體上嘗試進行參數群組變更，再將參數群組變更套用至生產資料庫執行個體。

**Example 使用資料庫參數函數 LEAST**  
您可以在 Aurora MySQL `LEAST` 參數值中指定 `table_definition_cache` 函數。使用該函數將可存放在定義快取中的資料表定義數量設為 `DBInstanceClassMemory`/393040 或 20,000 (取較小者)。  

```
LEAST({DBInstanceClassMemory/393040}, 20000)
```