Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

perf: Index pick list field in stock entry and DN #35738

Merged
merged 1 commit into from
Jun 16, 2023

Conversation

ankush
Copy link
Member

@ankush ankush commented Jun 16, 2023

We check if pick list is created against them but there's no index so we
end up reading entire table.

+------+-------------+------------------+-------+---------------+----------+---------+------+--------+-----------+----------+------------+-------------+
| id   | select_type | table            | type  | possible_keys | key      | key_len | ref  | rows   | r_rows    | filtered | r_filtered | Extra       |
+------+-------------+------------------+-------+---------------+----------+---------+------+--------+-----------+----------+------------+-------------+
|    1 | SIMPLE      | tabDelivery Note | index | NULL          | modified | 9       | NULL | 207015 | 348940.00 |   100.00 |       0.00 | Using where |
+------+-------------+------------------+-------+---------------+----------+---------+------+--------+-----------+----------+------------+-------------+

After

+------+-------------+------------------+------+-----------------+-----------------+---------+-------+------+--------+----------+------------+------------------------------->
| id   | select_type | table            | type | possible_keys   | key             | key_len | ref   | rows | r_rows | filtered | r_filtered | Extra                         >
+------+-------------+------------------+------+-----------------+-----------------+---------+-------+------+--------+----------+------------+------------------------------->
|    1 | SIMPLE      | tabDelivery Note | ref  | pick_list_index | pick_list_index | 563     | const | 1    | 0.00   |   100.00 |     100.00 | Using index condition; Using w>
+------+-------------+------------------+------+-----------------+-----------------+---------+-------+------+--------+----------+------------+------------------------------->

@ankush ankush changed the title fix: Index pick list field in stock entry and DN perf: Index pick list field in stock entry and DN Jun 16, 2023
We check if pick list is created against them but there's no index so we
end up reading entire table.

```
+------+-------------+------------------+-------+---------------+----------+---------+------+--------+-----------+----------+------------+-------------+
| id   | select_type | table            | type  | possible_keys | key      | key_len | ref  | rows   | r_rows    | filtered | r_filtered | Extra       |
+------+-------------+------------------+-------+---------------+----------+---------+------+--------+-----------+----------+------------+-------------+
|    1 | SIMPLE      | tabDelivery Note | index | NULL          | modified | 9       | NULL | 207015 | 348940.00 |   100.00 |       0.00 | Using where |
+------+-------------+------------------+-------+---------------+----------+---------+------+--------+-----------+----------+------------+-------------+
```

After

```
+------+-------------+------------------+------+-----------------+-----------------+---------+-------+------+--------+----------+------------+------------------------------->
| id   | select_type | table            | type | possible_keys   | key             | key_len | ref   | rows | r_rows | filtered | r_filtered | Extra                         >
+------+-------------+------------------+------+-----------------+-----------------+---------+-------+------+--------+----------+------------+------------------------------->
|    1 | SIMPLE      | tabDelivery Note | ref  | pick_list_index | pick_list_index | 563     | const | 1    | 0.00   |   100.00 |     100.00 | Using index condition; Using w>
+------+-------------+------------------+------+-----------------+-----------------+---------+-------+------+--------+----------+------------+------------------------------->
```
@ankush ankush merged commit 433489a into frappe:develop Jun 16, 2023
@ankush ankush deleted the index_dn_pl branch June 16, 2023 09:56
@ankush ankush added the backport version-14-hotfix backport to version 14 label Jun 16, 2023
mergify bot pushed a commit that referenced this pull request Jun 16, 2023
We check if pick list is created against them but there's no index so we
end up reading entire table.

```
+------+-------------+------------------+-------+---------------+----------+---------+------+--------+-----------+----------+------------+-------------+
| id   | select_type | table            | type  | possible_keys | key      | key_len | ref  | rows   | r_rows    | filtered | r_filtered | Extra       |
+------+-------------+------------------+-------+---------------+----------+---------+------+--------+-----------+----------+------------+-------------+
|    1 | SIMPLE      | tabDelivery Note | index | NULL          | modified | 9       | NULL | 207015 | 348940.00 |   100.00 |       0.00 | Using where |
+------+-------------+------------------+-------+---------------+----------+---------+------+--------+-----------+----------+------------+-------------+
```

After

```
+------+-------------+------------------+------+-----------------+-----------------+---------+-------+------+--------+----------+------------+------------------------------->
| id   | select_type | table            | type | possible_keys   | key             | key_len | ref   | rows | r_rows | filtered | r_filtered | Extra                         >
+------+-------------+------------------+------+-----------------+-----------------+---------+-------+------+--------+----------+------------+------------------------------->
|    1 | SIMPLE      | tabDelivery Note | ref  | pick_list_index | pick_list_index | 563     | const | 1    | 0.00   |   100.00 |     100.00 | Using index condition; Using w>
+------+-------------+------------------+------+-----------------+-----------------+---------+-------+------+--------+----------+------------+------------------------------->
```

(cherry picked from commit 433489a)

# Conflicts:
#	erpnext/stock/doctype/delivery_note/delivery_note.json
ankush added a commit that referenced this pull request Jun 17, 2023
…35742)

* perf: Index pick list field in stock entry and DN (#35738)

We check if pick list is created against them but there's no index so we
end up reading entire table.

```
+------+-------------+------------------+-------+---------------+----------+---------+------+--------+-----------+----------+------------+-------------+
| id   | select_type | table            | type  | possible_keys | key      | key_len | ref  | rows   | r_rows    | filtered | r_filtered | Extra       |
+------+-------------+------------------+-------+---------------+----------+---------+------+--------+-----------+----------+------------+-------------+
|    1 | SIMPLE      | tabDelivery Note | index | NULL          | modified | 9       | NULL | 207015 | 348940.00 |   100.00 |       0.00 | Using where |
+------+-------------+------------------+-------+---------------+----------+---------+------+--------+-----------+----------+------------+-------------+
```

After

```
+------+-------------+------------------+------+-----------------+-----------------+---------+-------+------+--------+----------+------------+------------------------------->
| id   | select_type | table            | type | possible_keys   | key             | key_len | ref   | rows | r_rows | filtered | r_filtered | Extra                         >
+------+-------------+------------------+------+-----------------+-----------------+---------+-------+------+--------+----------+------------+------------------------------->
|    1 | SIMPLE      | tabDelivery Note | ref  | pick_list_index | pick_list_index | 563     | const | 1    | 0.00   |   100.00 |     100.00 | Using index condition; Using w>
+------+-------------+------------------+------+-----------------+-----------------+---------+-------+------+--------+----------+------------+------------------------------->
```

(cherry picked from commit 433489a)

# Conflicts:
#	erpnext/stock/doctype/delivery_note/delivery_note.json

* chore: conflict

---------

Co-authored-by: Ankush Menat <ankush@frappe.io>
frappe-pr-bot pushed a commit that referenced this pull request Jun 20, 2023
## [14.27.9](v14.27.8...v14.27.9) (2023-06-20)

### Bug Fixes

* `Process Loss Report` (backport [#35712](#35712)) ([#35719](#35719)) ([55a8be5](55a8be5))
* add validation for QI in PR (backport [#35677](#35677)) ([#35757](#35757)) ([59ab13c](59ab13c))
* Allocated amount validation for other party types ([#35741](#35741)) ([5541d68](5541d68))
* cannot start / stop jobs ([53ec2a9](53ec2a9))
* conflicts ([697fcef](697fcef))
* consider field precision while setting sle actual_qty ([#35717](#35717)) ([3f62e85](3f62e85))
* date and finance book fixes in fixed asset register (backport [#35751](#35751)) ([#35799](#35799)) ([8b57ecd](8b57ecd))
* don't add GL Entry for Acc. Depr. while scrapping non-depreciable assets (backport [#35714](#35714)) ([#35715](#35715)) ([77b0c5f](77b0c5f))
* Duplicate addresses are creating while using the E-commerce ([703e4f4](703e4f4))
* fix get outstanding invoices btn and add get outstanding orders btn (backport [#35776](#35776)) ([#35787](#35787)) ([42e25d4](42e25d4))
* for zero bal accounts, dr/cr only on currency that has balance ([7da461b](7da461b))
* incorrect gl entries for standalone debit note with update stock ([3355dc2](3355dc2))
* incorrect stock value for purchase returned with rejected qty (backport [#35747](#35747)) ([#35752](#35752)) ([c11d950](c11d950))
* keyerror while checking the stock balance report ([baf014f](baf014f))
* loan interest accrual date ([#35695](#35695)) ([070df97](070df97))
* **patch:** enable existing serial no in stock settings ([#35762](#35762)) ([3c790c1](3c790c1))
* stock error for service item ([2bbea63](2bbea63))
* test case ([4af0a9b](4af0a9b))
* unsupported operand type(s) for //: 'float' and 'NoneType' for POS Barcode search ([#35710](#35710)) ([58a6bbc](58a6bbc))
* update `Stock Reconciliation` diff qty while reposting ([bdb5cc8](bdb5cc8))
* **ux:** set route options for new `Batch` ([b261242](b261242))
* validation of job card in stock entry ([ce2bf5f](ce2bf5f))
* work order serial no issue ([50a8907](50a8907))

### Performance Improvements

* Duplicate queries for UOM (backport [#35744](#35744)) ([#35745](#35745)) ([632b67c](632b67c))
* duplicate queries while checking prevdoc (backport [#35746](#35746)) ([#35749](#35749)) ([a0fc8e2](a0fc8e2))
* Ignore cancelled pick lists while fetching picked items (backport [#35737](#35737)) ([#35740](#35740)) ([01ac54d](01ac54d))
* index `purpose` in `Stock Entry` (backport [#35782](#35782)) ([#35783](#35783)) ([3bac2a8](3bac2a8))
* Index pick list field in stock entry and DN (backport [#35738](#35738)) ([#35742](#35742)) ([b875de6](b875de6))
* Index sales_order_item in Pick list item (backport [#35735](#35735)) ([#35736](#35736)) ([0e57f4d](0e57f4d))
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Feb 25, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
backport version-14-hotfix backport to version 14
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant