0
SELECT DISTINCT tag, occurences
FROM ' . DBPREFIX . 'tags
WHERE ID >= 
(
    SELECT 
        FLOOR(MAX(ID) * RAND()) 
    FROM 
        ' . DBPREFIX . 'tags
) AND exclude=0 ORDER BY ID LIMIT ' . MAX_TAGS

私は壁紙サイトを持っていて、サーバーの遅延に問題があります - 私のウェブサイトに訪問者が来るたびに、タグクラウド (ランダムな 25 タグ) をロードし、このクエリを実行します。4000 以上の壁紙と 10000 以上のタグがあります。このクエリを最適化する方法は? 私のサイトは 1 日に少なくとも 3 ~ 5 回壊れています。

PS私の友人は、5分ごとにクエリを実行することを提案していますが、それを実現する方法がわかりません。

4

1 に答える 1

0

あなたの友人は良い考えを持っています。使用しているサーバー側のフレームワークが何であれ、そのキャッシング オプションを探してください。

別のアイデアは、「ランダム」要件を取り除くことです。

于 2013-03-18T17:37:27.907 に答える