Sorgu yönetimi verilerine dayalı olarak SQL şablonları hakkında bilgi sorgular.
Bir Alibaba Cloud SDK kullanıyorsanız, aliyun-sdk-core sürümünün V2.1.8'den yeni olduğundan emin olun. En son sürümü kullanmanızı öneririz.
Database Autonomy Service (DAS) SDK sürümünüzün V2.1.8 veya daha yeni olması gerekir.
DAS API işlemlerini çağırmak için bir SDK kullanıyorsanız bölge kimliğini cn-shanghai olarak ayarlayın.
-
Bu işlem aşağıdaki veritabanı motorlarını destekler:
ApsaraDB RDS for MySQL
PolarDB for MySQL
ApsaraDB RDS for PostgreSQL
İstek parametreleri
| Parametre | Tür | Gerekli | Örnek | Açıklama |
| Action | String | Evet | GetQueryOptimizeDataStats | Gerçekleştirmek istediğiniz işlem. Değeri GetQueryOptimizeDataStats olarak ayarlayın. |
| Engine | String | Evet | MySQL | Veritabanı motoru. Geçerli değerler:
|
| InstanceIds | String | Hayır | rm-2ze8g2am97624**** | Örnek kimlikleri. Birden çok kimliği virgül (,) ile ayırın. |
| TagNames | String | Hayır | Yok | Ayrılmış bir parametredir. |
| Keywords | String | Hayır | select update | SQL şablonlarının anahtar sözcükleri. Birden çok anahtar sözcüğü boşlukla ayırın. |
| LogicalOperator | String | Hayır | or | Birden çok anahtar sözcük arasındaki mantıksal ilişki. Geçerli değerler:
|
| Rules | String | Hayır | DAS_NOT_IMPORTANT | SQL şablonlarını filtrelemek için kullanılan etiketler. Birden çok etiketi virgül (,) ile ayırın. Daha fazla bilgi için bkz. Sorgu yönetimi. |
| DbNames | String | Hayır | testdb01 | Sorgulanacak veritabanının adı. |
| Time | String | Evet | 1642953600000 | Sorgulanacak zaman aralığı. Zamanı UNIX zaman damgası biçiminde belirtin. Birim: milisaniye. |
| PageSize | String | Hayır | 10 | Her sayfada döndürülecek maksimum girdi sayısı. Varsayılan değer: 10. |
| PageNo | String | Hayır | 1 | Döndürülecek sayfanın numarası. Sayfalar 1. sayfadan başlar. Varsayılan değer: 1. |
| OrderBy | String | Hayır | count | Döndürülen girdilerin sıralanacağı alan. Varsayılan değer: count. Geçerli değerler:
|
| Asc | String | Hayır | true | Döndürülen girdilerin artan düzende sıralanıp sıralanmayacağını belirtir. Varsayılan değer: true. Geçerli değerler:
|
| OnlyOptimizedSql | String | Hayır | false | Yalnızca optimize edilmesi gereken SQL şablonlarının sorgulanıp sorgulanmayacağını belirtir. Varsayılan değer: false. Geçerli değerler:
|
| SqlIds | String | Hayır | 2e8147b5ca2dfc640dfd5e43d96a**** | SQL şablonu kimliği. Şablon kimliğini GetQueryOptimizeExecErrorStats işlemini çağırarak sorgulayabilirsiniz. |
| Region | String | Hayır | cn-china | Örneğin bulunduğu bölge. Geçerli değerler:
Bu parametre yalnızca InstanceIds boş bırakıldığında etkilidir. InstanceIds boş bırakılırsa sistem verileri Region tarafından ayarlanan bölgeden alır. Varsayılan olarak Region değeri cn-china şeklindedir. InstanceIds belirtirseniz Region etkili olmaz ve sistem verileri belirtilen ilk örneğin bulunduğu bölgeden alır. Not Örnekleriniz Çin anakarasındaki bölgelerde bulunuyorsa bu parametreyi cn-china olarak ayarlayın. |
| User | String | Hayır | testUser | Sorgulanacak veritabanının hesabı. |
Yanıt parametreleri
| Parametre | Tür | Örnek | Açıklama |
| Code | String | 200 | Döndürülen HTTP durum kodu. |
| Message | String | Successful | İstek için döndürülen mesaj. |
| Data | Object | SQL şablonlarının ayrıntıları. | |
| Total | Long | 10 | Döndürülen toplam girdi sayısı. |
| PageNo | Integer | Yok | Ayrılmış bir parametredir. |
| PageSize | Integer | Yok | Ayrılmış bir parametredir. |
| Extra | String | Yok | Ayrılmış bir parametredir. |
| List | Array of QueryOptimizeDataStats | SQL şablonları hakkındaki bilgiler. | |
| InstanceId | String | rm-2ze8g2am97624**** | Örnek kimliği. |
| Dbname | String | testdb01 | SQL şablonunun ait olduğu veritabanının adı. |
| SqlId | String | 2e8147b5ca2dfc640dfd5e43d96a**** | SQL şablonunun kimliği. |
| SqlType | String | INSERT | SQL ifadesinin türü. |
| Psql | String | select 1 | SQL şablonu. |
| SqlSample | String | select 2 | Çalıştırılması en uzun süren örnek sorgu. |
| Count | Integer | 100 | SQL şablonunun çalıştırılma sayısı. |
| MaxQueryTime | double | 1.1 | En uzun sorgu çalıştırma süresi. Birim: saniye. |
| AvgQueryTime | double | 1.1 | Ortalama sorgu çalıştırma süresi. Birim: saniye. |
| MaxLockTime | double | 0.1 | En uzun kilit bekleme süresi. Birim: saniye. |
| AvgLockTime | double | 0.1 | Ortalama kilit bekleme süresi. Birim: saniye. |
| MaxRowsExamined | Long | 100000 | Taranan satırların en büyük sayısı. |
| AvgRowsExamined | double | 100.1 | Taranan satırların ortalama sayısı. |
| MaxRowsSent | Long | 10000 | Döndürülen satırların en büyük sayısı. |
| AvgRowsSent | double | 100.1 | Döndürülen satırların ortalama sayısı. |
| MaxRowsAffected | Long | 10000 | SQL şablonu tarafından etkilenen satırların en büyük sayısı. Not Bu parametre toplanmazsa -1 döndürülür. |
| AvgRowsAffected | double | 100.1 | SQL şablonu tarafından etkilenen satırların ortalama sayısı. Not Bu parametre toplanmazsa -1 döndürülür. |
| RuleList | Array of Rules | Etiketlerle ilgili bilgiler. | |
| Name | String | DAS_NOT_IMPORTANT | Etiket adı. Daha fazla bilgi için bkz. Sorgu yönetimi. |
| Type | String | Predefined | Etiket türü. Geçerli değerler:
|
| User | String | testUser | Veritabanının hesabı. |
| RequestId | String | B6D17591-B48B-4D31-9CD6-9B9796B2**** | İstek kimliği. |
| Success | String | true | İsteğin başarılı olup olmadığını gösterir. Geçerli değerler:
|
Örnekler
Örnek istekler
http(s)://das.cn-shanghai.aliyuncs.com/?Action=GetQueryOptimizeDataStats
&Engine=MySQL
&InstanceIds=rm-2ze8g2am97624****
&TagNames=None
&Keywords=select update
&LogicalOperator=or
&Rules=DAS_NOT_IMPORTANT
&DbNames=testdb01
&Time=1642953600000
&PageSize=10
&PageNo=1
&OrderBy=count
&Asc=true
&OnlyOptimizedSql=false
&SqlIds=2e8147b5ca2dfc640dfd5e43d96a****
&Region=cn-china
&User=testUser
&Common request parameters
Örnek başarılı yanıt
XML formatı
HTTP/1.1 200 OK
Content-Type:application/xml
<GetQueryOptimizeDataStatsResponse>
<Code>200</Code>
<Message>Successful</Message>
<Data>
<Total>10</Total>
<Extra>None</Extra>
<List>
<InstanceId>rm-2ze8g2am97624****</InstanceId>
<Dbname>testdb01</Dbname>
<SqlId>2e8147b5ca2dfc640dfd5e43d96a****</SqlId>
<SqlType>INSERT</SqlType>
<Psql>select 1</Psql>
<SqlSample>select 2</SqlSample>
<Count>100</Count>
<MaxQueryTime>1.1</MaxQueryTime>
<AvgQueryTime>1.1</AvgQueryTime>
<MaxLockTime>0.1</MaxLockTime>
<AvgLockTime>0.1</AvgLockTime>
<MaxRowsExamined>100000</MaxRowsExamined>
<AvgRowsExamined>100.1</AvgRowsExamined>
<MaxRowsSent>10000</MaxRowsSent>
<AvgRowsSent>100.1</AvgRowsSent>
<MaxRowsAffected>10000</MaxRowsAffected>
<AvgRowsAffected>100.1</AvgRowsAffected>
<RuleList>
<Name>DAS_NOT_IMPORTANT</Name>
<Type>Predefined</Type>
</RuleList>
</List>
</Data>
<RequestId>B6D17591-B48B-4D31-9CD6-9B9796B2****</RequestId>
<Success>true</Success>
</GetQueryOptimizeDataStatsResponse>
JSON formatı
HTTP/1.1 200 OK
Content-Type:application/json
{
"Code" : "200",
"Message" : "Successful",
"Data" : {
"Total" : 10,
"Extra" : "None",
"List" : [ {
"InstanceId" : "rm-2ze8g2am97624****",
"Dbname" : "testdb01",
"SqlId" : "2e8147b5ca2dfc640dfd5e43d96a****",
"SqlType" : "INSERT",
"Psql" : "select 1",
"SqlSample" : "select 2",
"Count" : 100,
"MaxQueryTime" : 1.1,
"AvgQueryTime" : 1.1,
"MaxLockTime" : 0.1,
"AvgLockTime" : 0.1,
"MaxRowsExamined" : 100000,
"AvgRowsExamined" : 100.1,
"MaxRowsSent" : 10000,
"AvgRowsSent" : 100.1,
"MaxRowsAffected" : 10000,
"AvgRowsAffected" : 100.1,
"RuleList" : [ {
"Name" : "DAS_NOT_IMPORTANT",
"Type" : "Predefined"
} ]
} ]
},
"RequestId" : "B6D17591-B48B-4D31-9CD6-9B9796B2****",
"Success" : "true"
}
Hata kodları
| HTTP durum kodu | Hata kodu | Hata mesajı | Açıklama |
| 400 | InvalidParams | The request parameters are invalid. | Belirtilen istek parametreleri geçersiz olduğu için döndürülen hata mesajı. |
Hata kodlarının listesi için bkz. Service error codes.