まず第一に、私はまだPHP / mySQLに非常に慣れていないので、それがあなたにとって単純すぎる場合は私の質問を許してください:)
これが私の問題です:私は現在、mysqlデータベースに大量のデータを保存することに取り組んでいます。基本的には息子の学校のアーカイブのようなディレクトリです。
構造は基本的に次のとおりです。
ID、キーワード、タイトル、説明、URL、ランク、ハッシュ
id is int 11
keyword is varchar 255
title is varchar 255
description is text
url is varchar 255
rank is int 2
hash is varchar 50
上記のフィールドを含む約1,000万行を挿入する予定であり、私の使命はデータベースにできるだけ速くクエリを実行できるようにすることです。
私のクエリは常に正確なキーワードに対するものです。
例えば:
select * from table where keyword = "keyword" limit 10
タイトルや説明などではなく、キーワードをクエリするだけです。キーワードごとに最大10件の結果があります。これ以上になることはありません。
mysqlのインデックスなどについては本当の手がかりはありませんが、いくつかのインデックスがあると速度が向上する可能性があることを読みました。
ここで、プロの助けが必要です。私の使命は、可能な限り最速のクエリを実行できるようにすることです。そのため、データベースのクエリにそれほど時間はかかりません。キーワードフィールドのみを検索しているので、数百万行ある場合でも、結果をすばやく返すことができるようにする方法があると確信しています。
私がすべきことをあなたは何を提案しますか。キーワードフィールドをINDEXに設定する必要がありますか、それとも他に何かを監視する必要がありますか?INDEXESについての本当の手がかりがないので、あなたの助けに感謝します。つまり、インデックスを使用する必要があるのか、キーワード、タイトル、説明などすべてに使用する必要があるのかわかりません...
データベースは頻繁に更新されます-それが重要な場合に備えて。
何百万もの行を保存し、1秒未満でクエリを実行することさえ可能だと思いますか?
カスタムmy.cnf設定などの他の提案も役立ちます。
あなたの助けは大歓迎です。