[Rt-commit] r11776 - rtir/branches/2.3-EXPERIMENTAL/lib/RT
ruz at bestpractical.com
ruz at bestpractical.com
Fri Apr 18 10:08:06 EDT 2008
Author: ruz
Date: Fri Apr 18 10:08:01 2008
New Revision: 11776
Modified:
rtir/branches/2.3-EXPERIMENTAL/lib/RT/IR.pm
Log:
* add additional boundaries to searches by IP to allow
optimizers do better guesses
Modified: rtir/branches/2.3-EXPERIMENTAL/lib/RT/IR.pm
==============================================================================
--- rtir/branches/2.3-EXPERIMENTAL/lib/RT/IR.pm (original)
+++ rtir/branches/2.3-EXPERIMENTAL/lib/RT/IR.pm Fri Apr 18 10:08:01 2008
@@ -282,6 +282,17 @@
SUBKEY => $rest{'SUBKEY'}. '.LargeContent',
ENTRYAGGREGATOR => 'AND',
);
+ # as well limit borders so DB optimizers can use better
+ # estimations and scan less rows
+ $tickets->_CustomFieldLimit(
+ $field, '>=', '000.000.000.000', %rest,
+ ENTRYAGGREGATOR => 'AND',
+ );
+ $tickets->_CustomFieldLimit(
+ $field, '<=', '255.255.255.255', %rest,
+ SUBKEY => $rest{'SUBKEY'}. '.LargeContent',
+ ENTRYAGGREGATOR => 'AND',
+ );
}
else { # negative equation
$tickets->_CustomFieldLimit($field, '>', $end_ip, %rest);
@@ -290,6 +301,9 @@
SUBKEY => $rest{'SUBKEY'}. '.LargeContent',
ENTRYAGGREGATOR => 'OR',
);
+ # TODO: as well limit borders so DB optimizers can use better
+ # estimations and scan less rows, but it's harder to do
+ # as we have OR aggregator
}
$tickets->_CloseParen;
# return right now as we did everything
More information about the Rt-commit
mailing list