Sorgu planları tarafından nasıl derlendiğini, depolandığı ve alındığı hakkında sınırlı bilgimden, bir çoklu ifade sorgusunun veya saklı yordamın, gelecekteki yürütmelerde sorgu tarafından kullanılacak sorgu planı önbelleğinde depolanacak olan sorgu planını üreteceğini anlıyorum.
Bu plan sorgu karma ile sorgu planı önbellekten alınır, yani sorgu düzenlenmiş ve yürütme karma farklı ve hiçbir eşleşen karma sorgu planı önbelleğinde bulunamadı gibi yeni bir plan oluşturulur anlamına gelir.
Benim sorum: Bir kullanıcı, çoklu ifade sorgusundaki ifadelerden biri olan bir deyimi çalıştırırsa, çoklu deyim sorgusu için zaten önbellekteki sorgu planının ilgili bölümünü kullanabilir mi? Karma değerlerin açıkça eşleşmeyeceği için cevabın hayır olmasını bekliyorum, ancak sorgudan tek tek ifadeler çalıştıran kullanıcılar tarafından kullanılabilecek şekilde her ifadeyi çok ifadeli bir sorguda hash etmek daha iyi olur mu?
Ben dikkate almıyorum komplikasyonlar bekliyoruz (Ve ben gerçekten bilmek istiyorum bunlar) ama daha fazla yer kaplayan ve daha fazla alan birçok sorgu planlarında aynı 'ifade planı' saklamak olabilir gibi görünüyor CPU ve oluşturma zamanı.
Yine de cehaletimi gösterebilirdim.
dbid
veobjectid
her ikisinde de var,is_cache_key=1
böylece farklı derlenmiş nesneler arasında planların yeniden kullanılmasını sağlayamazsınız.