ActicleMapper::listRandomArticle ```sql SELECT <include refid="Base_Column_List"/> FROM <include refid="tb"/> WHERE article_status = 1 ORDER BY RAND() limit #{limit} ``` 里用ORDER BY RAND()来取得随机的行。在article表比较大的情况下性能比较差,因为会进行全表扫描然后filesort。 可能的优化方法可以参考[这个SO](https://stackoverflow.com/questions/1823306/mysql-alternatives-to-order-by-rand)。
ActicleMapper::listRandomArticle
里用ORDER BY RAND()来取得随机的行。在article表比较大的情况下性能比较差,因为会进行全表扫描然后filesort。
可能的优化方法可以参考这个SO。