All Products
Search
Document Center

AnalyticDB:Fungsi MAX_PT()

Last Updated:Oct 31, 2025

AnalyticDB for MySQL memungkinkan Anda menggunakan fungsi MAX_PT() untuk mendapatkan nilai terbesar dari kolom kunci partisi tingkat-1 dalam tabel eksternal MaxCompute yang dipartisi. Fungsi ini menghindari pemindaian seluruh partisi, sehingga meningkatkan kinerja kueri dan efisiensi komputasi secara signifikan.

Prasyarat

Catatan Penggunaan

  • Fungsi MAX_PT() hanya berlaku untuk tabel eksternal MaxCompute. Jika Anda memanggil fungsi MAX_PT() pada tabel internal atau jenis tabel eksternal lainnya, akan muncul kesalahan. Untuk informasi lebih lanjut tentang cara membuat tabel eksternal MaxCompute, lihat CREATE EXTERNAL TABLE.

  • Tabel eksternal MaxCompute tempat fungsi MAX_PT() digunakan harus merupakan tabel partisi dan memiliki data di setidaknya satu partisi. Jika persyaratan tersebut tidak terpenuhi, fungsi MAX_PT() gagal dieksekusi.

Sintaksis

MAX_PT(<table_full_name>)

Parameter

<table_full_name>: nama tabel eksternal MaxCompute yang dipartisi. Formatnya adalah: <database>.<tableName> atau <tableName>. Parameter ini harus bertipe STRING.

Nilai Kembali

Nilai alfabetik terbesar dari kolom kunci partisi tingkat-1 dikembalikan. Tipe data nilai kembali ditentukan oleh tipe data kolom kunci partisi yang didefinisikan dalam tabel eksternal MaxCompute. Tipe data yang didukung meliputi: BOOLEAN, BIGINT, dan STRING.

Contoh

Buat tabel eksternal bernama customer yang memiliki partisi berikut: 20241209, 20241210, dan 20241211. Atur nama kolom kunci partisi menjadi dt.

CREATE EXTERNAL TABLE IF NOT EXISTS  customer (
	id int,
	name varchar(1023),
	age int,
	dt STRING
) ENGINE='ODPS'
TABLE_PROPERTIES='{
	"accessid":"LTAILd4****",
	"endpoint":"http://service.cn-hangzhou.maxcompute.aliyun.com/api",
	"accesskey":"4A5Q7ZVzcYnWMQPysX****",
	"partition_column":"dt",
	"project_name":"test_adb",
	"table_name":"person"
}';

Kueri jumlah baris dalam partisi yang memiliki nilai kolom kunci partisi terbesar di tabel customer.

SELECE COUNT(*) FROM customer WHERE dt=MAX_PT('customer');

Dalam contoh ini, AnalyticDB for MySQL hanya mengakses partisi 20241211 dari tabel eksternal MaxCompute. Hal ini mencegah pemindaian seluruh partisi, sehingga secara signifikan meningkatkan kinerja kueri dan efisiensi komputasi keseluruhan.