做了个垃圾采集站,随着数据量的增多,30W+的时候慢查询开始出现SQL_CALC_FOUND_ROWS
. c( V! f( \& h* }( g$ N. Q% q2 F. x5 q& @+ `. E8 K, k
搜了一下优化方式,初步发现有两种方式:
, a0 @. t k b" F9 u7 e& r' d V; q& R5 e
https://aihongxin.com/1045.html% \2 |. |+ y6 o8 i4 A
% Q8 F( M% S. W! U% y$ u4 x和
/ D! }! s6 P3 Z7 r: }& @- {3 e6 X2 p# ~* u
https://www.banzhuti.com/sql-cal ... y-optimization.html
; d. Z% Y+ X3 n; j: ^
) }* Y6 ?& u0 C4 V7 e( k都是修改WordPress的主题文件夹的functions.php文件9 I9 V% x( a* F/ y6 I
& W2 j' ~5 _8 h+ G9 i# U, Y
另外还有一个方式是把文件:wp-includes/query.php里的
6 F. o( R' F4 S9 N# z/ q4 t. G3 q6 c$this->max_num_pages = ceil( $this->found_posts / $q['posts_per_page'] );
8 \% r5 T; J5 O- O' M" D4 a- S8 q2 s改为
: k! t1 ~, w# ?* B' y6 h$this->max_num_pages = 0;9 }( w4 X& ~; s' S0 i# W6 U
3 P/ T( V' D& E0 W. o' {好像方式3也是用于处理SQL_CALC_FOUND_ROWS的?
' U& k, i; |8 k2 j8 k9 e' a$ q) t, q, E6 }- s! L9 K( k/ w
因为基本不懂代码,麻烦哪位懂的大佬帮看一下上述三种方法的利弊?谢谢了。
) ~! g3 s/ G, B: b9 A9 T! l. Q |