做了个垃圾采集站,随着数据量的增多,30W+的时候慢查询开始出现SQL_CALC_FOUND_ROWS
3 \7 k* e& S. `8 N( b$ H' Y% Q( s* p& O% z
搜了一下优化方式,初步发现有两种方式:
1 W' ~1 K- @5 s. ]1 P
1 R& S* {) W! Y7 bhttps://aihongxin.com/1045.html
9 z* m. i( S9 R# @% Z7 ^5 f( g0 W
和
* B8 `" k9 a5 S( {& M; a5 ?
) |, f8 J- C% j9 }6 l$ ehttps://www.banzhuti.com/sql-cal ... y-optimization.html
2 {9 Y% l: y9 X' ]0 y+ t8 R8 l+ w6 O2 |7 c
都是修改WordPress的主题文件夹的functions.php文件
, h X, h0 K, z }, ^3 I3 y8 K, o! m6 Y* v
另外还有一个方式是把文件:wp-includes/query.php里的; A- p$ n0 o: g) L' v6 A% c
$this->max_num_pages = ceil( $this->found_posts / $q['posts_per_page'] );
4 o* J) a9 O$ F改为
' Q0 U8 x1 e1 T$this->max_num_pages = 0;- u, _+ s( K: e6 o" S! C0 B
2 a3 V- B' e6 ?! n% D好像方式3也是用于处理SQL_CALC_FOUND_ROWS的?$ T% ]3 v% M! m( u: G
, L8 E9 D- M) [, L7 n因为基本不懂代码,麻烦哪位懂的大佬帮看一下上述三种方法的利弊?谢谢了。
7 V& L6 B8 J$ x( L% k |