ตารางชั่วคราวและตารางถาวรช่วยปรับปรุงประสิทธิภาพการค้นหา ซึ่งช่วยให้เข้าใจและดูแลรักษาได้ง่ายขึ้น การสร้างผลลัพธ์กลางที่คุณสามารถนํากลับมาใช้ซ้ำได้ ในขณะเดียวกันก็ให้ตัวเลือกในการเก็บข้อมูลชั่วคราวที่ไม่มีการสรุปรวม เพื่อช่วยลดทรัพยากรที่ต้องใช้ในการดำเนินการค้นหา ซึ่งจะปรับปรุงประสิทธิภาพได้
ตารางที่สร้างขึ้นอยู่ภายใต้การตรวจสอบความเป็นส่วนตัวแบบคงที่ ฟังก์ชันที่อนุญาต และข้อจํากัดการผนวกช่องเดียวกันที่บังคับใช้ทั่วทั้ง Ads Data Hub การตรวจสอบความเป็นส่วนตัวแบบมาตรฐานจะมีผลเมื่อข้อมูลจากคำสั่ง SELECT
สุดท้ายส่งออกไปยัง BigQuery
หากต้องการสร้างตาราง ให้ทำตามไวยากรณ์ BigQuery ดังนี้
CREATE [OR REPLACE] [TEMP | TEMPORARY] TABLE TABLE_NAME
[OPTIONS(privacy_checked_export=<true | false>)] AS query_statement;
ระบบจะไม่รองรับข้อความต่อไปนี้
IF NOT EXISTS
PARTITION BY
CLUSTER BY
ตารางชั่วคราว
ตารางชั่วคราว (หรือชั่วคราว) จะช่วยให้อ่านคำค้นหาได้ง่ายขึ้น และช่วยให้คุณสร้างผลลัพธ์ขั้นกลางที่ไม่ขึ้นอยู่กับข้อกำหนดการรวมหรือความแตกต่าง
ตารางอุณหภูมิ:
- มีอยู่ที่ระดับเซสชันเท่านั้น และจะหมดอายุหลังจากดำเนินการค้นหา
- สามารถใช้ภายในการค้นหาที่สร้างข้อความค้นหานั้นเท่านั้น
- ไม่อยู่ภายใต้ข้อกําหนดของการรวมหรือ Differential Privacy
- รองรับเนมสเปซ
tmp
ที่ไม่บังคับ
หากต้องการสร้างตารางชั่วคราว ให้ใช้คำสั่ง CREATE TEMP TABLE
ตัวอย่างนี้จะสร้างตารางชั่วคราวเพื่อเก็บผลลัพธ์ของคำค้นหา จากนั้นใช้ตารางชั่วคราวในคำค้นหาย่อย
-- Get a list of creative IDs and store in a temporary table called creative_list:
CREATE TEMP TABLE creative_list AS (
SELECT
adgroup_id,
advertiser_id,
creative_id
FROM
adh.dv360_youtube_impressions
);
-- Return creatives with a count of impressions greater than 100
SELECT
creative_id,
COUNT(*) AS imps
FROM
creative_list -- Alternative: tmp.creative_list
WHERE
imps > 100
GROUP BY
creative_id;
ตารางถาวร
หากต้องการสร้างตารางข้อมูลชั่วคราวเพื่อใช้ในคำค้นหาอื่นๆ ให้สร้างตารางถาวร ไวยากรณ์จะเหมือนกับตารางชั่วคราว
โดยไม่มีอนุประโยค TEMP
ตารางถาวรจะมีการกรองไว้ล่วงหน้า ซึ่งหมายความว่าจะไม่มีการใช้การตรวจสอบการรวมและจะใช้เวลา 72 ชั่วโมง หากมีตารางที่มีชื่อที่เลือกไว้อยู่แล้ว
ตารางจะถูกเขียนทับ
ตารางถาวร:
- หมดอายุหลังจากผ่านไป 72 ชั่วโมง
- ใช้นอกการค้นหาที่สร้างการค้นหาได้
- อยู่ภายใต้ข้อกําหนดในการรวม
- ต้องใช้เนมสเปซ
tmp
เมื่อเข้าถึงตารางจากคำค้นหาในภายหลังเท่านั้น
หากต้องการสร้างตารางถาวร ให้ใช้คำสั่ง CREATE TABLE
ตัวอย่างนี้จะสร้างตารางถาวรเพื่อเก็บผลลัพธ์ของคำค้นหา จากนั้นจึงใช้ตารางถาวรในการค้นหาในภายหลัง
คำค้นหา 1
-- Get a list of creative IDs and store in a persistent table called creative_list:
CREATE TABLE creative_list AS (
SELECT
adgroup_id,
advertiser_id,
creative_id
FROM
adh.dv360_youtube_impressions
);
คำค้นหา 2
-- Return creatives which had more than 100 impressions
SELECT
creative_id,
COUNT(*) AS imps
FROM
tmp.creative_list
WHERE
imps > 100;
ใช้การตรวจสอบด้านความเป็นส่วนตัว
นอกจากนี้ Ads Data Hub ยังรองรับไวยากรณ์ SQL เพื่อสร้างตารางผลลัพธ์ระดับกลางที่ต้องมีการตรวจสอบความเป็นส่วนตัว
หากต้องการสร้างตารางที่ต้องมีการตรวจสอบความเป็นส่วนตัว ให้เพิ่มอนุประโยค OPTIONS
ลงในการค้นหา ดังนี้
OPTIONS(privacy_checked_export=true)
ตัวอย่างนี้สร้างตารางชั่วคราวระดับเซสชันและใช้การตรวจสอบด้านความเป็นส่วนตัว
-- Get a list of creative IDs and store in a temporary table called creative_list:
CREATE TEMP TABLE creative_list OPTIONS(privacy_checked_export=true) AS (
SELECT
adgroup_id,
advertiser_id,
creative_id
FROM
adh.dv360_youtube_impressions
);
ตัวอย่างนี้สร้างตารางถาวร ใช้การตรวจสอบความเป็นส่วนตัว และส่งออกตารางไปยังโปรเจ็กต์ Google Cloud
-- Get a list of creative IDs and store in a persistent table called creative_list:
CREATE TABLE `myproject.mydataset.creative_list` OPTIONS(privacy_checked_export=true) AS (
SELECT
adgroup_id,
advertiser_id,
creative_id
FROM
adh.dv360_youtube_impressions
);
ส่งออกหลายตารางโดยใช้การค้นหาเดียว
Ads Data Hub รองรับไวยากรณ์ SQL ที่ยืดหยุ่นเพื่อส่งออกตารางผลลัพธ์ที่ดูได้ในกรณีที่ 1 ตารางต่อการค้นหานั้นไม่เพียงพอ ตารางเหล่านี้อยู่ภายใต้การตรวจสอบด้านความเป็นส่วนตัวเดียวกันที่บังคับใช้ทั่วทั้ง Ads Data Hub
ไวยากรณ์สำหรับการส่งออกตารางควบคู่ไปกับนิพจน์ SQL หลักคือ
CREATE TABLE <project_name.dataset_name.table_name>
OPTIONS(privacy_checked_export=true) AS query_statement;
เช่น หากต้องการส่งออกตารางไปยังปลายทาง BigQuery myproject.mydataset.mytable
ซึ่งประกอบด้วยจำนวนแถวสำหรับรหัสแคมเปญแต่ละรายการจากตาราง adh.google_ads_impressions
ให้ทำดังนี้
CREATE TABLE `myproject.mydataset.mytable` OPTIONS(privacy_checked_export=true) AS
SELECT campaign_id, COUNT(*) AS ct
FROM adh.google_ads_impressions
GROUP BY campaign_id;
และอาจมีการอ้างอิงตารางในคำค้นหาเดียวกันกับที่สร้างตารางเหล่านั้นด้วย ตัวอย่างเช่น ข้อความค้นหา
CREATE TABLE `myproject.mydataset.mytable` OPTIONS(privacy_checked_export=true) AS
SELECT campaign_id, COUNT(*) AS ct
FROM adh.google_ads_impressions
GROUP BY campaign_id;
SELECT ct FROM `myproject.mydataset.mytable`;
จะเอาต์พุตสองตาราง:
- ครั้งที่
myproject.mydataset.mytable
พร้อมคอลัมน์campaign_id
และct
- ตำแหน่งหนึ่งในตำแหน่งที่ระบุในช่องตารางปลายทางของอาร์กิวเมนต์งาน พร้อมด้วยคอลัมน์
ct
คุณสามารถเพิ่มสรุปแถวที่กรองในตารางเหล่านี้ได้ด้วย อ่านเกี่ยวกับสรุปแถวที่กรอง