0

bit.ly のような Web サイトをデザインしましたが、少し異なります。mysql で php で書かれています。私が localhost で実行していたとき、すべてが正常に動作しているように見え、ページは 4.5 ミリ秒でロードされ、ハマグリと同じくらい幸せでした。

それをサーバーにアップロードすると、ユーザーは Web サイトを閲覧し、使用し始めました。メインテーブルが数百万行に達し始めるまで、すべてが正常に機能しているように見えました。

現在、テーブルは 100 万行の長さであり (そうである必要があります)、成長しています。そのテーブルを必要とするページの読み込みには 500 ミリ秒かかります... mysql クエリは次のとおりです。

select link
from table
where kind = $kind and kind_idd = $kind_idd and live = 1;

1 つ以上のリンクを返すことができます。実際、通常は 10 ~ 50 のリンクが返されます。

問題は where 句です。mysqlには、それを高速化するための何かが必要だと確信しています。Google に問い合わせたところ、インデックスやキーなどが見つかりました。しかし、私はダミーのためにそれを説明したウェブサイトを見つけることができませんでした..誰かが私にこのことを速くするための例を与えることができれば、私は本当に感謝します.

ありがとうございました!

4

1 に答える 1

2

mysql Explain Plan を使用して、 何が起こっているかを確認してみてください。

おそらく、 http://dev.mysql.com/doc/refman/5.0/en/create-index.htmlkind, kind_idd and liveを参照して、インデックスがあることを確認する必要があります。

于 2013-10-23T02:12:42.750 に答える