docs: correct the 1.4.0 upgrade step for the copy index #9
+8
-4
@@ -9,7 +9,7 @@ Versioning follows [Semantic Versioning](https://semver.org/).
|
|||||||
|
|
||||||
## [1.4.0] — 2026-09-28 — 百萬級 listing 的路由排序與日期查詢(hardening 2.4)
|
## [1.4.0] — 2026-09-28 — 百萬級 listing 的路由排序與日期查詢(hardening 2.4)
|
||||||
|
|
||||||
**性質**:效能 + 修正。無 schema 變更;post status/date 副本的索引改為三欄(`wp tmdo post-status-sync` 就地替換)。
|
**性質**:效能 + 修正。無 schema 變更;post status/date 副本的索引改為三欄(見「升級後」)。
|
||||||
搭配 HivePress AddOn 0.5.0。來源:dev36 第 3 階壓測(130 萬 listing、121 萬 product、6.2 萬 vendor)。
|
搭配 HivePress AddOn 0.5.0。來源:dev36 第 3 階壓測(130 萬 listing、121 萬 product、6.2 萬 vendor)。
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
@@ -41,9 +41,13 @@ Versioning follows [Semantic Versioning](https://semver.org/).
|
|||||||
|
|
||||||
### 升級後
|
### 升級後
|
||||||
|
|
||||||
- 已啟用 post status/date 副本的站(`tmdo_post_status_columns` 有 `ready` 的 group)執行一次
|
- 只需替換索引:對 `tmdo_post_status_columns` 列出的每個 group 表執行
|
||||||
`wp tmdo post-status-sync`:替換索引並重新同步副本(dev36 130 萬列約 75 s)。未執行前
|
`ALTER TABLE <表> ADD INDEX idx_post_status_date_id (post_status, post_date, post_id), DROP INDEX idx_post_status_date`
|
||||||
copy route 照常運作,只是維持 1.3.0 的速度。
|
(空表瞬間完成,dev36 130 萬列約 5 s)。未替換前 copy route 照常運作,只是維持 1.3.0 的速度。
|
||||||
|
- **不要為了換索引執行 `wp tmdo post-status-sync`**:它除了替換索引,還會替**所有**尚未有副本的
|
||||||
|
post group 加上 `post_status` / `post_date` 欄位並逐列回填(大表 ALTER + 全表 UPDATE;dev36
|
||||||
|
130 萬列約 75 s,上千萬列的站更久)。只有要讓更多 group 啟用 copy route 時才執行,並先在
|
||||||
|
離峰時段以 `--dry-run` 確認列數。
|
||||||
- 效能數字(dev36 前台,routed):價格區間 0.34 s、價格排序 0.37 s、時薪排序 0.35 s、
|
- 效能數字(dev36 前台,routed):價格區間 0.34 s、價格排序 0.37 s、時薪排序 0.35 s、
|
||||||
評分排序 0.51 s、關鍵字 + 價格 0.59 s(原生 6–43 s)。
|
評分排序 0.51 s、關鍵字 + 價格 0.59 s(原生 6–43 s)。
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -110,7 +110,7 @@ The Classifier tab analyzes your existing `wp_postmeta` data (access frequency,
|
|||||||
= 1.4.0 =
|
= 1.4.0 =
|
||||||
* Flat-first sorts read the ID tie-break from the flat post_id, so a declared (column, post_id) index returns rows in order; ties now follow the sort direction
|
* Flat-first sorts read the ID tie-break from the flat post_id, so a declared (column, post_id) index returns rows in order; ties now follow the sort direction
|
||||||
* Meta clauses without a value route as EXISTS; HivePress's featured-listing lookup on every search page uses the flat table
|
* Meta clauses without a value route as EXISTS; HivePress's featured-listing lookup on every search page uses the flat table
|
||||||
* Date-ordered routed searches drop the redundant GROUP BY and use a (post_status, post_date, post_id) index (run `wp tmdo post-status-sync` once to replace the index)
|
* Date-ordered routed searches drop the redundant GROUP BY and use a (post_status, post_date, post_id) index (replace the index on the tables listed in `tmdo_post_status_columns`; `wp tmdo post-status-sync` also adds the copy columns to every other post group)
|
||||||
* Rows rebuilt by the migration engine keep their status/date copies and invalidate cached routed counts
|
* Rows rebuilt by the migration engine keep their status/date copies and invalidate cached routed counts
|
||||||
* Live test tools no longer flush the object cache
|
* Live test tools no longer flush the object cache
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user