全部产品
Search
文档中心

AnalyticDB:Praktik terbaik untuk melakukan operasi pada tabel asing OSS

更新时间:Jul 02, 2025

Topik ini menjelaskan cara melakukan operasi pada tabel asing Object Storage Service (OSS).

Lihat rencana eksekusi

AnalyticDB for PostgreSQL memungkinkan Anda melihat rencana eksekusi dari pernyataan kueri yang melibatkan tabel asing OSS dengan mengeksekusi pernyataan EXPLAIN. Contoh:

EXPLAIN SELECT COUNT(*) FROM oss_lineitem_orc WHERE l_orderkey > 14062498;

Kumpulkan statistik

Secara default, AnalyticDB for PostgreSQL tidak secara otomatis mengumpulkan statistik tabel asing OSS karena tabel-tabel tersebut disimpan di OSS. Jika statistik tidak tersedia atau sudah usang, pengoptimal kueri mungkin menghasilkan rencana kueri yang tidak efisien untuk kueri kompleks seperti yang melibatkan tabel gabungan. Untuk menyelesaikan masalah ini, AnalyticDB for PostgreSQL memungkinkan Anda memperbarui statistik tabel asing OSS dengan mengeksekusi pernyataan ANALYZE.

  1. Eksekusi pernyataan EXPLAIN berikut untuk melihat rencana eksekusi saat ini:

    EXPLAIN <table_name>;
  2. Eksekusi pernyataan ANALYZE berikut untuk mengumpulkan statistik:

    ANALYZE <table_name>;
  3. Eksekusi pernyataan EXPLAIN berikut untuk melihat rencana eksekusi baru:

    EXPLAIN <table_name>;

Pisahkan objek besar

Tabel asing OSS memungkinkan Anda memindai objek sumber yang disimpan di berbagai node secara paralel. Jika hanya ada sejumlah kecil objek sumber, kami sarankan Anda membagi objek-objek ini menjadi objek kecil untuk memfasilitasi pemindaian paralel di berbagai node.

Contoh berikut menunjukkan cara membagi objek besar. Dalam contoh ini, sistem operasi Linux digunakan.

  1. Kueri jumlah baris dalam objek besar saat ini.

    wc -l <csv_file>
  2. Pisahkan objek menjadi objek kecil berdasarkan nilai parameter N. N menentukan jumlah baris di setiap objek kecil.

    split -l N <csv_file>
    Catatan

    Baris dalam objek tidak dapat dipisah ke objek kecil yang berbeda. Metode pemisahan di atas memastikan integritas setiap baris.

Lihat informasi objek tabel asing OSS

Anda dapat mengeksekusi pernyataan berikut untuk menanyakan informasi objek dari tabel asing OSS:

SELECT * FROM get_oss_table_meta('<OSS FOREIGN TABLE>');

Referensi