pub enum ExecutionMode {
PrepareNone,
PrepareBuild,
PrepareProbe,
Speculative(usize),
}Expand description
Execution mode for spatial join operations, controlling prepared geometry usage.
Prepared geometries are pre-processed spatial objects that can significantly improve performance for spatial predicate evaluation when the same geometry is used multiple times in comparisons.
The choice of execution mode depends on the specific characteristics of your spatial join workload, as well as the spatial relation predicate between the two tables. Some of the spatial relation computations cannot be accelerated by prepared geometries at all (for example, ST_Touches, ST_Crosses, ST_DWithin).
Variants§
PrepareNone
Don’t use prepared geometries for spatial predicate evaluation.
PrepareBuild
Create prepared geometries for the build side (left/smaller table).
PrepareProbe
Create prepared geometries for the probe side (right/larger table).
Speculative(usize)
Automatically choose the best execution mode based on the characteristics of first few geometries on the probe side.
Implementations§
Trait Implementations§
Source§impl Clone for ExecutionMode
impl Clone for ExecutionMode
Source§fn clone(&self) -> ExecutionMode
fn clone(&self) -> ExecutionMode
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl ConfigField for ExecutionMode
impl ConfigField for ExecutionMode
Source§impl Debug for ExecutionMode
impl Debug for ExecutionMode
Source§impl PartialEq for ExecutionMode
impl PartialEq for ExecutionMode
impl Copy for ExecutionMode
impl StructuralPartialEq for ExecutionMode
Auto Trait Implementations§
impl Freeze for ExecutionMode
impl RefUnwindSafe for ExecutionMode
impl Send for ExecutionMode
impl Sync for ExecutionMode
impl Unpin for ExecutionMode
impl UnsafeUnpin for ExecutionMode
impl UnwindSafe for ExecutionMode
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more