[前][次][番号順一覧][スレッド一覧]

mysql:11693

From: Kenta Hashimoto <Kenta Hashimoto <kem@xxxxxxxxxx>>
Date: Wed, 06 Jul 2005 16:07:08 +0900
Subject: [mysql 11693] 全文検索と他条件の組み合わせ

はじめまして。はしけむと申します。
現在、料理レシピを検索できるウェブサイトの構築を行っています。

SQLをいじりだして、2ヶ月程度です。

10万件程度のデータから、レシピを高速に検索したいのですが、
以下のようなクエリで行き詰っています。
アドバイスをいただけけると助かります。

SELECT
	ID
FROM
	Recipe
WHERE
	MATCH( 'Title,Description' )
	AGAINST( '+"じゃがいも"' IN BOOLEAN MODE )
	AND
	CategoryA = 4
	AND
	CategorB = 2

このようなクエリをより高速にしたいのですが、
どのようにする方法がよいでしょうか?

CagetoryA、CategoryB について、インデックスを使用できない
でいることが、クエリが遅い原因だと考えています。

Categoryは、9種類あり、それぞれ、2〜8種類の値が入ります。
(Title、Descriptionは、UTF-8の文字列を分かち書きしてあります)

自分で考えた解決策としては、

案1:Categoryも文字列型にして、"CategoryA4 CategoryB2"のような値を
   入れて、全文検索のインデックスに含める

案2:Categoryごとに、前もって別のテーブルを作っておく。

   一日一回実行
	INSERT RecipeA4
	SELECT * FROM Recipe WHERE CategoryA = 4;

   検索時(Categoryの条件は別に処理しておいて、)
	SELECT ID FROM RecipeA4 WHERE MATCH,,,,

というものなのですが、これらの方法の可否、よりよい方法などについての
アドバイスなどありましたら、非常に助かります。
よろしくお願いいたします。



[前][次][番号順一覧][スレッド一覧]

->   11693 2005-07-06 16:07 [Kenta Hashimoto <kem] 全文検索と他条件の組み合わせ            
     11694 2005-07-07 00:55 ┣[UNO Shintaro <uno@xx]                                       
     11697 2005-07-07 09:58 ┗["T.Sasaki" <papasan2]                                       
     11706 2005-07-07 20:18  ┗[Kenta Hashimoto <kem]                                     
     11707 2005-07-07 20:47   ┗["T.Sasaki" <papasan2]                                   
     11712 2005-07-07 21:39    ┗[Kenta Hashimoto <kem]                                 
     11713 2005-07-07 21:58     ┗["T.Sasaki" <papasan2]                               
     11714 2005-07-07 22:14      ┗[Kenta Hashimoto <kem]                             
     11715 2005-07-07 22:56       ┗["T.Sasaki" <papasan2]                           
     11716 2005-07-07 23:10        ┣[Kenta Hashimoto <kem]                         
     11717 2005-07-07 23:17        ┗[Kazuhiro Osawa <ko@x]                         
     11719 2005-07-08 00:14         ┣[Kenta Hashimoto <kem]                       
     11720 2005-07-08 06:25         ┗["T.Sasaki" <papasan2]                       
     11734 2005-07-09 13:45          ┗[Kazuhiro Osawa <ko@x]                     
     11735 2005-07-09 20:31           ┣["T.Sasaki" <papasan2]                   
     11736 2005-07-12 15:33           ┗["Naoi Masaaki" <naoi] MySQLでの最大項目数につきまして
     11737 2005-07-12 16:33            ┣[Tetsuro IKEDA <ikdtt]                 
     11739 2005-07-12 17:42            ┃┗["Naoi Masaaki" <naoi]               
     11738 2005-07-12 17:10            ┗[Hiroshi Moriyama <mt]                 
     11740 2005-07-12 17:47             ┣["Naoi Masaaki" <naoi]               
     11742 2005-07-13 20:08             ┗["T.Sasaki" <papasan2]