質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

解決済

1回答

1277閲覧

【AWSのRDS】mysqlのmyisamエンジンでの速度改善に関する質問

退会済みユーザー

退会済みユーザー

総合スコア0

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

2クリップ

投稿2018/01/12 03:35

編集2018/01/12 04:29

##わからないこと
いつもお世話になっております。
この度mysqlのエンジンがmyisamの速度改善をしようとしています。
そこで苦戦をしていまして、下記の構造をしたテーブルからのselectにて33秒かかっています。

Table: fulltexts Create Table: CREATE TABLE `fulltexts` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `main_id` bigint(20) unsigned NOT NULL, `type` enum('att','cli','ent','job','sume') COLLATE utf8_unicode_c i DEFAULT NULL, `phase_id` bigint(20) NOT NULL DEFAULT '0', `data` longtext COLLATE utf8_unicode_ci NOT NULL, `index` longtext COLLATE utf8_unicode_ci NOT NULL, `time` double(16,6) unsigned NOT NULL, `created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', `updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', PRIMARY KEY (`id`), UNIQUE KEY `fulltexts_main_id_type_unique` (`main_id`,`type`), KEY `type_index` (`type`), KEY `fulltexts_phase_id_index` (`ase_id`), KEY `time_index` (`time`), FULLTEXT KEY `index` (`index`) ) ENGINE=MyISAM AUTO_INCREMENT=1680949 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode _ci

下記の構文でexplainをかけたところ

select `main_id`, `time` from `fulltexts` where `type` = 'job' and `main_id` in ('1550', '56774', '442221'といったように多数の値) and MATCH(`index`) AGAINST('\"東京 京都\"' IN BOOLEAN MODE);

フルテキストインデックスがインデックスに設定されます。
このようなテーブルの速度改善はどのように行えばよいでしょうか?

何卒よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yambejp

2018/01/12 03:57

Mroongaという選択肢はないですか?
退会済みユーザー

退会済みユーザー

2018/01/12 04:08

現状このテーブルを動かしてから多くの時間が経過してしまってますので、別の角度からまずは考慮したいです・・・
guest

回答1

0

ベストアンサー

データの内容によるかと思いますが、ユニークキーが、main_id,typeでクエリが、where type = 'job' and main_idと逆になっているので、クエリをユニークキーの複合インデックス順に合わせてこちらが使われるようにすると、フルテキストインデックスでの利用時よりも改善されるケースがあるかもしれません。

投稿2018/01/13 05:30

aro10

総合スコア4106

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/01/16 11:04

ご回答ありがとうございます。 順番を変更したところ、0.5秒短縮されました ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問