テーブルに120万を超えるレコードが含まれている場合、次のクエリを最適化しようとしています。検索クエリの最適化Mysql
#1 - 実行時間:0.6605、取得項目に使用
SELECT * FROM `videos` WHERE MATCH (name,tags) AGAINST ('mytag' IN BOOLEAN MODE) LIMIT 20
*#2 - 実行時間:0.5186、ページネーションシステム*に使用
SELECT COUNT(*) AS `numrows` FROM `videos` WHERE MATCH (name,tags) AGAINST ('mytag' IN BOOLEAN MODE)
私のテーブルの構造
DROP TABLE IF EXISTS `videos`;
CREATE TABLE `videos` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`name_url` varchar(255) DEFAULT NULL,
`categories` varchar(255) DEFAULT NULL,
`embed` tinytext,
`description` text,
`tags` varchar(255) DEFAULT NULL,
`hd` smallint(6) DEFAULT '0',
`views` int(11) NOT NULL DEFAULT '0',
`likes` int(11) DEFAULT '0',
`dislikes` int(11) DEFAULT '0',
`cover` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`,`name`),
FULLTEXT KEY `categories` (`categories`),
FULLTEXT KEY `name` (`name`),
FULLTEXT KEY `tags` (`tags`)
) ENGINE=MyISAM AUTO_INCREMENT=1273355 DEFAULT CHARSET=latin1;
各クエリで高速応答が得られるソリューションはありますか?
敬具
うーん何の答えを...? – NinjaX
笑ってください。 24分、あなたは答えを求めています。私たちはあなたのために働かない。 –
と質問する方法を学びます。 [** How-to-Ask **](http://stackoverflow.com/help/how-to-ask) \t \t [** START **](http ://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/)質問品質を向上させ、より良い回答を得る方法を学ぼう。 –