私は、次のスキームを持つテーブルがあります。強化テーブルMYSQLパフォーマンス
CREATE TABLE `type_interests` (
`id` int(11) NOT NULL,
`interest_id` int(11) NOT NULL,
`type_id` int(11) NOT NULL,
`type` varchar(64) NOT NULL,
`status` varchar(64) NOT NULL,
`created_date` datetime NOT NULL,
`last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`notes` varchar(64) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
ALTER TABLE `type_interests`
ADD PRIMARY KEY (`id`),
ADD KEY `interest_id` (`interest_id`,`type_id`),
ADD KEY `interest_id_2` (`interest_id`);
ALTER TABLE `type_interests`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=31415;
ALTER TABLE `type_interests`
ADD CONSTRAINT `type_interests_ibfk_1` FOREIGN KEY (`interest_id`) REFERENCES `interests` (`id`);
を、私は唯一の約30,000のデータベース内のレコードが、この表は、時間の多くを消費している使用するすべてのクエリを持って、それがデザインです問題? type_idは複数のテーブルにリンクされていることに注意してください。
あなたは私たちに、クエリ/クエリを表示することができますそれは長い時間がかかりますか?私の頭の上から、おそらくあなたはどんな指標も使用していません。 –
私はSHOW CREATE TABLEがテーブルをよりエレガントに表示すると思う。 – Strawberry
私はインデックス( 'タイプ'、 'タイプID')を追加して問題を解決しました –