pub enum ScanType {
FullTable,
IndexRange,
IndexLookup,
UniqueLookup,
Other,
}Expand description
Scan type classification (unified abstraction of scan methods across dialects)
Variants§
FullTable
Full table scan (MySQL ALL / PG Seq Scan / SQLite SCAN / Oracle TABLE ACCESS FULL / MSSQL Table Scan)
IndexRange
Index range scan (MySQL range / PG Index Scan / SQLite SEARCH ... USING INDEX / Oracle INDEX RANGE SCAN / MSSQL Index Scan)
IndexLookup
Index equality/point lookup (MySQL ref/eq_ref / Oracle INDEX UNIQUE SCAN)
UniqueLookup
Primary key/unique index point lookup (MySQL const / PG Index Scan ... pkey / MSSQL Index Seek)
Other
Other (materialization, sorting, aggregation, etc.)
Implementations§
Source§impl ScanType
impl ScanType
Sourcepub fn is_full_table_scan(&self) -> bool
pub fn is_full_table_scan(&self) -> bool
Whether it is a full table scan (performance warning trigger condition)
pub fn as_str(&self) -> &'static str
pub fn all() -> &'static [ScanType]
pub fn is_index_scan(&self) -> bool
pub fn is_index_lookup(&self) -> bool
pub fn parse_name(s: &str) -> Option<ScanType>
Trait Implementations§
impl Copy for ScanType
impl Eq for ScanType
impl StructuralPartialEq for ScanType
Auto Trait Implementations§
impl Freeze for ScanType
impl RefUnwindSafe for ScanType
impl Send for ScanType
impl Sync for ScanType
impl Unpin for ScanType
impl UnsafeUnpin for ScanType
impl UnwindSafe for ScanType
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more