oracle數(shù)據(jù)庫突然變慢了 Oracle對表分區(qū)完以后,為什么查詢效率變慢了?
Oracle對表分區(qū)完以后,為什么查詢效率變慢了?分區(qū)后每個分區(qū)是否在不同的表空間中,是否查詢所有數(shù)據(jù)?如果是這樣,則可能是在查詢時,數(shù)據(jù)位于不同的表空間中,從而導(dǎo)致要查詢的數(shù)據(jù)塊更多。此時,查詢速度
Oracle對表分區(qū)完以后,為什么查詢效率變慢了?
分區(qū)后每個分區(qū)是否在不同的表空間中,是否查詢所有數(shù)據(jù)?如果是這樣,則可能是在查詢時,數(shù)據(jù)位于不同的表空間中,從而導(dǎo)致要查詢的數(shù)據(jù)塊更多。此時,查詢速度變慢。此外,創(chuàng)建分區(qū)表不一定能提高查詢速度。這取決于需要查詢的結(jié)果集是否集中在盡可能少的數(shù)據(jù)庫中。如果使用表空間,查詢速度可能會降低
要使用索引查詢一段數(shù)據(jù),需要先訪問索引數(shù)據(jù),然后再訪問表數(shù)據(jù)。如果整個表被掃描兩次,則只訪問表數(shù)據(jù),并且只執(zhí)行一次讀取操作。因此,如果查詢結(jié)果占表數(shù)據(jù)的50%以上,則使用索引的速度會很慢??紤]到單個讀取操作可以讀取多條數(shù)據(jù),而且索引的結(jié)構(gòu)比表復(fù)雜,如果占表數(shù)據(jù)的20%以上,查詢可能會結(jié)束,使用索引不如全表掃描。因此,Oracle優(yōu)化器需要根據(jù)開銷頻繁地更新統(tǒng)計數(shù)據(jù),方便優(yōu)化器判斷使用全表掃描和索引的開銷