1

ウェブサイトの検索ページを作成しようとしていますが、単一のクエリを思い付くことができません。

これらの10個のテーブルとそのフィールドのリストは次のとおりです

  1. tmp_auction_auto

    id注文カテゴリメーカーモデル価格price_type場所年実行run_typeドアエアバッグギアエンジン馬力シリンダードライブタイプ燃料色abselectronicwindowsclimatcontrolディスクハッチボードコンピューターアラームrightsteerターボパーキングコントロールコンディショナーleathersalonナビゲーションcentrallockチェアウォーム油圧noprice家賃交換customclearanceステータスその他の連絡先

  2. tmp_auction_estateid 注文タイプ取引価格price_typeprice_sqmnoprice市の住所エリア高さ修理条件プロジェクト目的地ベランダマンサード会議stairs_total階段部屋寝室バルコニーsanitary_arrloggia暖炉コンディショナーガレージ駐車場land_destination建物distance_central_streetdistance_tbilisi倉庫ジャグジーバスルームシャワーサウナ家具技術電話インターネットジェネレータープールbusinesscenter在庫ワードローブエレベーターガス温水暖房インターコムcabletvアラームシステムエントランスセキュリティウィンドウガードセキュリティデュプレックストリプレックスサテライトキッチンショーケースland_railwayland_electricityland_gasland_waterland_drainageステータスその他の連絡先

  3. tmp_auction_otherid 注文タイトル価格price_typenoprice情報連絡先

  4. tmp_branchidlang タイトルコンテンツxy
  5. tmp_comments id reply_id path username email title content like dislikes time admin
  6. tmp_newsidlang タイトルコンテンツ日付

  7. tmp_pagesidlang タイトルコンテンツ日付

  8. tmp_pollsid 名質問回答ip

  9. tmp_presentationidlang タイトルの順序

  10. tmp_sitemapid 親言語タイトルリンク順序

テーブルごとに任意の順序で複数のクエリを記述し(悪い習慣)、それをPHP配列に結合して出力できることはわかっていますが、このテーマに対する専門的なアプローチが必要です。

PS memcache、solr、sphinxsなどのライブラリを使用したくない(サ​​ーバーはそれらをサポートしません)

  • また、コンテンツ検索などの他の検索の提案にも感謝します(ただし、Webサイトはphpでmvcパターンで記述され、URLが書き換えられ、mysqlデータベースに依存しています)
4

1 に答える 1

1
I guess you can join these tables and create a view into which the data obtained fom the joined tables can be saved. Now the search must be conducted on this view which will speed up the search.
For eg.
mysql> SELECT CONCAT(UPPER(supplier_name), ' ', supplier_address) FROM suppliers;
+-----------------------------------------------------+
| CONCAT(UPPER(supplier_name), ' ', supplier_address) |
+-----------------------------------------------------+
| MICROSOFT 1 Microsoft Way                           |
| APPLE, INC. 1 Infinate Loop                         |
| EASYTECH 100 Beltway Drive                          |
| WILDTECH 100 Hard Drive                             |
| HEWLETT PACKARD 100 Printer Expressway              |
+-----------------------------------------------------+
CREATE VIEW suppformat AS 
SELECT CONCAT(UPPER(supplier_name), ' ', supplier_address) FROM suppliers;

mysql> SELECT * FROM suppformat;
+-----------------------------------------------------+
| CONCAT(UPPER(supplier_name), ' ', supplier_address) |
+-----------------------------------------------------+
| MICROSOFT 1 Microsoft Way                           |
| APPLE, INC. 1 Infinate Loop                         |
| EASYTECH 100 Beltway Drive                          |
| WILDTECH 100 Hard Drive                             |
| HEWLETT PACKARD 100 Printer Expressway              |
+-----------------------------------------------------+


Please check this link which will give you some idea of views
[http://www.techotopia.com/index.php/An_Introduction_to_MySQL_Views][1]


  [1]: http://www.techotopia.com/index.php/An_Introduction_to_MySQL_Views
于 2012-12-14T12:45:39.133 に答える