เมื่อใช้งานการแคช ระบบจะประเมินการสืบค้นแต่ละรายการเพื่อกำหนดว่ามีคุณสมบัติเหมาะสมสำหรับการพบข้อมูลในแคชหรือไม่
การพบข้อมูลในแคชหมายความว่า Oracle Analytics Cloud สามารถใช้แคชเพื่อตอบรับการสืบค้นและไม่ได้ไปที่ฐานข้อมูล Oracle Analytics Cloud สามารถใช้แคชการสืบค้นเพื่อตอบรับการสืบค้นในการสรุปรวมระดับเดียวกันหรือที่สูงกว่า
แฟคเตอร์ต่างๆ จะกำหนดว่าพบข้อมูลในแคชหรือไม่ ตารางด้านล่างจะอธิบายแฟคเตอร์ต่างๆ เหล่านี้
| แฟคเตอร์หรือกฎ | คำอธิบาย |
|---|---|
|
ชุดย่อยของคอลัมน์ในลิสต์ |
คอลัมน์ทั้งหมดในลิสต์ กฎนี้จะอธิบายข้อกำหนดขั้นต่ำสำหรับการพบข้อมูลในแคช แต่การตรงตามกฎนี้ไม่ได้รับประกันการพบข้อมูลในแคช กฎอื่นๆ ที่แสดงในตารางนี้จะใช้ด้วยเช่นกัน |
|
คอลัมน์ในลิสต์ |
Oracle Analytics Cloud สามารถคำนวณเอ็กซ์เพรสชันในผลลัพธ์ที่แคชเพื่อตอบรับการสืบค้นใหม่ แต่คอลัมน์ทั้งหมดต้องอยู่ในผลลัพธ์ที่แคช ตัวอย่างเช่น การสืบค้น SELECT product, month, averageprice FROM sales WHERE year = 2000 พบข้อมูลแคชในการสืบค้น: SELECT product, month, dollars, unitsales FROM sales WHERE year = 2000 เนื่องจาก |
|
ส่วนคำสั่ง |
สำหรับการสืบค้นเพื่อตรวจสอบคุณสมบัติเป็นการพบข้อมูลในแคช ข้อจำกัดของส่วนคำสั่ง ส่วนคำสั่ง
นอกจากนี้ คอลัมน์ที่ใช้ในส่วนคำสั่ง SELECT employeename
FROM employee, geography
WHERE region in ('EAST', 'WEST')
ไม่ส่งผลให้มีการพบข้อมูลในแคชสำหรับการสืบค้นที่ให้เลือกในลิสต์ก่อนหน้า เนื่องจาก REGION ไม่ได้อยู่ในลิสต์การประมาณการ |
|
การสืบค้นไดเมนชันอย่างเดียวต้องเป็นแบบตรงกันทั้งหมด |
หากการสืบค้นคือไดเมนชันอย่างเดียวหมายความว่าจะไม่มีข้อเท็จจริงหรือการวัดรวมในการสืบค้น เฉพาะการจับคู่ที่ตรงกันทั้งหมดของคอลัมน์การประมาณการในการสืบค้นที่แคชจะพบข้อมูลในแคช ลักษณะนี้จะป้องกันไม่ให้มี false positive เมื่อมีหลายที่มาแบบลอจิคัลสำหรับตารางไดเมนชัน |
|
การสืบค้นที่มีฟังก์ชันพิเศษต้องเป็นแบบตรงกันทั้งหมด |
การสืบค้นอื่นๆ ที่มีฟังก์ชันพิเศษ เช่น ฟังก์ชันชุดเวลา ( |
|
ชุดตารางแบบลอจิคัลต้องเป็นแบบตรงกันทั้งหมด |
เพื่อให้มีคุณสมบัติเป็นการพบข้อมูลในแคชทั้งหมด การสืบค้นขาเข้าทั้งหมดต้องมีชุดตารางแบบลอจิคัลเดียวกันกับรายการแคช กฎนี้หลีกเลี่ยงการการพบข้อมูลในแคชที่ไม่ถูกต้อง ตัวอย่างเช่น |
|
ค่าตัวแปรเซสชันต้องตรงกันทั้งหมด รวมทั้งตัวแปรเซสชันการรักษาความปลอดภัย |
หากคำสั่ง SQL ลอจิคัลหรือ SQL ฟิสิคัลอ้างถึงตัวแปรเซสชันใดๆ ค่าตัวแปรเซสชันต้องตรงกันทั้งหมด มิฉะนั้น การแคชจะไม่พบข้อมูล นอกจากนี้ ค่าของตัวแปรเซสชันที่มีระบบการรักษาความปลอดภัยสูงต้องตรงกับค่าตัวแปรเซสชันการรักษาความปลอดภัยที่กำหนดในโมเดลรูปแบบภาษา แม้ว่าคำสั่ง SQL แบบลอจิคัลไม่ได้อ้างอิงตัวแปรเซสชัน โปรดดู ตรวจสอบให้แน่ใจว่าผลลัพธ์แคชถูกต้องเมื่อใช้การรักษาความปลอดภัยฐานข้อมูลระดับแถว |
|
เกี่ยวกับเงื่อนไขการรวมเทียบเท่า |
ตารางแบบลอจิคัลที่รวมที่เป็นผลลัพธ์ของคำขอสืบค้นใหม่ต้องเหมือนกับ (หรือเป็นชุดย่อยของ) ผลลัพธ์ที่แคชเพื่อให้มีคุณสมบัติเหมาะสมสำหรับการพบข้อมูลในแคช |
|
แอททริบิว |
หากการสืบค้นที่แคชกำจัดเรคคอร์ดที่ซ้ำกันด้วยการประมวลผล |
|
การสืบค้นต้องมีระดับการสรุปรวมที่ใช้ร่วมกันได้ |
การสืบค้นที่ขอระดับข้อมูลที่สรุปรวมสามารถใช้ผลลัพธ์ที่แคชที่ระดับการสรุปรวมต่ำกว่าได้ ตัวอย่างเช่น การสืบค้นต่อไปนี้ขอปริมาณที่ขายที่ระดับซัพพลายเออร์ และภูมิภาค และเมือง: SELECT supplier, region, city, qtysold FROM suppliercity การสืบค้นต่อไปนี้ขอปริมาณที่ขายที่ระดับเมือง: SELECT city, qtysold FROM suppliercity การสืบค้นที่สองส่งผลให้มีการพบข้อมูลในแคชในการสืบค้นแรก |
|
การสรุปรวมเพิ่มเติมแบบจำกัด |
ตัวอย่างเช่น หากมีการแคชการสืบค้นที่มีคอลัมน์ |
|
ส่วนคำสั่ง |
การสืบค้นที่สั่งโดยคอลัมน์ที่ไม่มีอยู่ในลิสต์ Select จะทำให้ไม่พบข้อมูลในแคช |
|
การวินิจฉัยลักษณะการพบข้อมูลในแคช |
เพื่อประเมินลักษณะการพบข้อมูลในแคชที่มีประสิทธิภาพยิ่งขึ้น ให้ตั้งค่าตัวแปรเซสชัน ENABLE_CACHE_DIAGNOSTICS เป็น 4 ตามที่แสดงในตัวอย่างต่อไปนี้: ENABLE_CACHE_DIAGNOSTICS=4 |