issue 1980 Add use index to document select query

add low priority to document DML query


git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@10665 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
ovclas 2012-05-07 04:59:43 +00:00
parent 3bbddf032e
commit 4d4b66d0d2
6 changed files with 10 additions and 9 deletions

View file

@ -252,7 +252,7 @@
$division = (int)Context::get('division'); $division = (int)Context::get('division');
// order by list_order and (module_srl===0 or module_srl many count), therefore case table full scan // order by list_order and (module_srl===0 or module_srl many count), therefore case table full scan
if($args->sort_index == 'list_order' && ((int)$args->exclude_module_srl === 0 || count($args->module_srl) > 10)) if($args->sort_index == 'list_order' && ($args->exclude_module_srl === '0' || count(explode(',', $args->module_srl)) > 5))
{ {
$listSqlID = 'document.getDocumentListUseIndex'; $listSqlID = 'document.getDocumentListUseIndex';
$divisionSqlID = 'document.getDocumentDivisionUseIndex'; $divisionSqlID = 'document.getDocumentDivisionUseIndex';

View file

@ -1,8 +1,7 @@
<query id="deleteDocument" action="delete"> <query id="deleteDocument" action="delete" priority="LOW">
<tables> <tables>
<table name="documents" /> <table name="documents" />
</tables> </tables>
<priority type="low" />
<conditions> <conditions>
<condition operation="equal" column="document_srl" var="document_srl" filter="number" notnull="notnull" /> <condition operation="equal" column="document_srl" var="document_srl" filter="number" notnull="notnull" />
</conditions> </conditions>

View file

@ -5,7 +5,9 @@
<columns> <columns>
<column name="*" /> <column name="*" />
</columns> </columns>
<index_hint name="idx_list_order" type="use" /> <index_hint for="MYSQL">
<index table="documents" name="idx_list_order" type="USE" />
</index_hint>
<conditions> <conditions>
<condition operation="in" column="module_srl" var="module_srl" filter="number" /> <condition operation="in" column="module_srl" var="module_srl" filter="number" />
<condition operation="notin" column="module_srl" var="exclude_module_srl" filter="number" pipe="and" /> <condition operation="notin" column="module_srl" var="exclude_module_srl" filter="number" pipe="and" />

View file

@ -5,7 +5,9 @@
<columns> <columns>
<column name="*" /> <column name="*" />
</columns> </columns>
<index_hint name="idx_list_order" type="use" /> <index_hint for="MYSQL">
<index table="documents" name="idx_list_order" type="USE" />
</index_hint>
<conditions> <conditions>
<condition operation="in" column="module_srl" var="module_srl" filter="number" /> <condition operation="in" column="module_srl" var="module_srl" filter="number" />
<condition operation="notin" column="module_srl" var="exclude_module_srl" filter="number" pipe="and" /> <condition operation="notin" column="module_srl" var="exclude_module_srl" filter="number" pipe="and" />

View file

@ -1,8 +1,7 @@
<query id="insertDocument" action="insert"> <query id="insertDocument" action="insert" priority="LOW">
<tables> <tables>
<table name="documents" /> <table name="documents" />
</tables> </tables>
<priority type="low" />
<columns> <columns>
<column name="document_srl" var="document_srl" filter="number" notnull="notnull" /> <column name="document_srl" var="document_srl" filter="number" notnull="notnull" />
<column name="module_srl" var="module_srl" filter="number" default="0" /> <column name="module_srl" var="module_srl" filter="number" default="0" />

View file

@ -1,8 +1,7 @@
<query id="updateDocument" action="update"> <query id="updateDocument" action="update" priority="LOW">
<tables> <tables>
<table name="documents" /> <table name="documents" />
</tables> </tables>
<priority type="low" />
<columns> <columns>
<column name="module_srl" var="module_srl" filter="number" default="0" /> <column name="module_srl" var="module_srl" filter="number" default="0" />
<column name="category_srl" var="category_srl" filter="number" default="0" /> <column name="category_srl" var="category_srl" filter="number" default="0" />