Ik heb een tabel waarin 2k-records worden opgeslagen.
Het schema is:
CREATE TABLE `tcms_articles` (
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`User_id` int(10) unsigned DEFAULT NULL,
`Category_id` int(10) unsigned DEFAULT NULL,
`Title` varchar(255) DEFAULT NULL,
`Value` longtext,
`Keywords` varchar(255) NOT NULL DEFAULT '',
`Description` varchar(255) NOT NULL DEFAULT '',
`Images` longtext NOT NULL,
`Votes` int(10) unsigned NOT NULL DEFAULT '1',
`Votes_sum` int(10) unsigned NOT NULL DEFAULT '5',
`Views` int(10) unsigned NOT NULL DEFAULT '0',
`Isvisible` tinyint(1) unsigned NOT NULL DEFAULT '1',
`Isfrontpage` tinyint(1) unsigned NOT NULL DEFAULT '0',
`Istoparticle` tinyint(1) unsigned NOT NULL DEFAULT '1',
`Expires_date` datetime NOT NULL DEFAULT '2099-12-31 00:00:00',
`Date` datetime NOT NULL,
PRIMARY KEY (`Id`),
KEY `article_users` (`User_id`) USING BTREE,
KEY `article_section` (`Category_id`) USING BTREE,
KEY `Isvisible_index` (`Isvisible`) USING BTREE,
KEY `Istoparticle_index` (`Istoparticle`) USING BTREE,
KEY `Expires_date_index` (`Expires_date`) USING BTREE,
KEY `isfrontpage` (`Isfrontpage`) USING BTREE,
KEY `Date_index` (`Date`) USING BTREE,
CONSTRAINT `tcms_articles_categories` FOREIGN KEY (`Category_id`) REFERENCES `tcms_categories` (`Id`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `tcms_articles_ibfk_2` FOREIGN KEY (`User_id`) REFERENCES `tcms_users` (`Id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=80 DEFAULT CHARSET=utf8;
Wanneer ik met deze query in de tabel zoek, heb ik prestatieproblemen
selecteer de waarde van tcms_articles waar istoparticle = 1 en isvisible = 1 volgorde op datumlimiet 1;
het duurt ongeveer 1,50+ seconden!
Maar als ik zo zoek:
selecteer waarde uit tcms_articles waarbij istoparticle = 1 volgorde op datumlimiet 1;
Ik heb geen probleem, het duurt ongeveer 0,02 seconden.
Heel erg bedankt.