人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

検索スピードに関しての質問です。

PHPを使いデータベースの中身をSELECTで表示しているのですが
動作が遅く表示に2秒ほどかかってしまいます。
データベースはMYSQLで項目数は10万件ほどです。
JQUERYのロード機能でPHPの検索システムを呼び出しています。

カテゴリの部分はRDBでテーブルを分けており
INNER JOINで結合しています。

カテゴリをテーブルで分割しており

検索スピードを上げるにはインデックスを使うのが良いというのはわかったのですが
文字数が最大日本語で500文字ほどあり(varcharで1,000と設定しています)
255が上限らしくインデックスがつけられないようです。

MYSQLで日本語500文字ほどの文を検索する場合
インデックスをつける方法はないでしょうか?

そもそも検索スピードを早くするには、こうしたほういいという方法もあればよろしくお願いします。




●質問者: robopit
●カテゴリ:ウェブ制作 学習・教育
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● pretaroe
●100ポイント

>255が上限らしくインデックスがつけられないようです。

MYQSL 4.1あたりの時の制限で
5.1などでは、1000バイトまでOKです。

http://dev.mysql.com/doc//refman/5.1/ja/create-index.html

>そもそも検索スピードを早くするには、こうしたほういいという方法もあればよろしくお願いします

EXPLAIN を実行して、構文解析をしてどこが遅いのかを論理的に確かめて
SELECT文を最適化する
http://dev.mysql.com/doc//refman/4.1/ja/explain.html
http://dev.mysql.com/doc//refman/5.1/ja/explain.html

なるべくINDEXキーを使用した検索で
絞り込んでから、INDEXキーのない項目を検索すると速くはなります。

JOINの仕方とか・・。

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ