1
我通過CodeIngiter嘗試進行查詢上儘可能快地通過搜索在包含大約記錄1.200.000表...如何快速非常大的數據庫
我已經創建的名稱,標籤3項指標和類別
*/
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for videos
-- ----------------------------
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 `mega_search` (`name`,`tags`,`categories`)
) ENGINE=MyISAM AUTO_INCREMENT=1273355 DEFAULT CHARSET=latin1;
但響應太長=> 總執行時間7.0999此查詢
SELECT *
FROM `videos`
WHERE `categories` LIKE '%Reality%' ESCAPE '!'
ORDER BY `id` DESC
LIMIT 20
'LIKE '%現實%''不能使用索引,並會在大大慢規模。請參閱https://dev.mysql.com/doc/refman/5.5/en/fulltext-search.html,或者使用類似於Lucene的索引。 – ceejayoz
120萬行幾乎不能稱爲一個非常大的數據庫 – Lamak
@Lamak當你在做'LIKE'%Reality%''時,任何事情都是大型數據庫:-p – ceejayoz