做了个垃圾采集站,随着数据量的增多,30W+的时候慢查询开始出现SQL_CALC_FOUND_ROWS
) n. \( r0 P1 d
1 X" f9 M6 s& f- c搜了一下优化方式,初步发现有两种方式:, A! r/ z$ I, U1 d6 W1 S$ `3 R
% B7 ]- w# v( S' t/ B ]7 H, jhttps://aihongxin.com/1045.html
+ x) z: j& A" L- F, R7 m) O! V6 C- M; ]6 G( p4 T
和1 e$ e% e+ s3 K6 C0 ^
% ?+ x" I" ]" n u
https://www.banzhuti.com/sql-cal ... y-optimization.html e( ?9 A6 X6 @- }' r- L% ^
6 P% y6 Y: t" Q5 W7 M! ^. y都是修改WordPress的主题文件夹的functions.php文件
' R+ J, @. m5 @( T4 D/ @
5 ^; d) W6 G: G, M另外还有一个方式是把文件:wp-includes/query.php里的- E; D* E8 u" z6 u- K. u" a: V
$this->max_num_pages = ceil( $this->found_posts / $q['posts_per_page'] );
2 c$ I# y5 K' C! A1 a' M改为
: g: k6 s& P" K2 [9 [$this->max_num_pages = 0;
6 N2 C1 U2 A. H, g! o# p0 I; I! W! D' e5 }$ W1 R
好像方式3也是用于处理SQL_CALC_FOUND_ROWS的?! D% a5 U) M5 |: U7 }: F/ X
1 O, ^3 E! S7 _
因为基本不懂代码,麻烦哪位懂的大佬帮看一下上述三种方法的利弊?谢谢了。
6 f4 _, @0 N1 T* p* ~ |