Hallo thomas,
noch mal unglaublich vielen dank dafür, dass du hier so viel zeit investierst.
das mit dem index hab ich gemacht. die tabelle sieht jetzt so aus:
CREATE TABLE `waren_assoc_all` (
`kunde_ID` bigint(20) NOT NULL,
`warenkorb_TYPE_ID` int(11) NOT NULL,
`ware_TYPE_ID` int(11) NOT NULL,
`ware_STRING` varchar(64) NOT NULL,
PRIMARY KEY (`kunde_ID`,`ware_STRING`,`ware_TYPE_ID`,`warenkorb_TYPE_ID`),
KEY `waren_assoc_all_IDX0` (`kunde_ID`,`warenkorb_TYPE_ID`,`ware_STRING`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1$$
sind aber leider immer noch ca. 1,7 sekunden.
'1', 'PRIMARY', '<derived2>', 'ALL', NULL, NULL, NULL, NULL, '10', ''
'1', 'PRIMARY', 'i1', 'eq_ref', 'PRIMARY', 'PRIMARY', '8', 'i2.YP_INSTANCE_ID', '1', 'Using where'
'2', 'DERIVED', '<derived3>', 'ALL', NULL, NULL, NULL, NULL, '20', ''
'2', 'DERIVED', '<derived5>', 'ALL', NULL, NULL, NULL, NULL, '284', 'Using where'
'2', 'DERIVED', '<derived6>', 'ALL', NULL, NULL, NULL, NULL, '577', 'Using where'
'2', 'DERIVED', '<derived4>', 'ALL', NULL, NULL, NULL, NULL, '757', 'Using where'
'6', 'DERIVED', 'yp_ent_par_materialize', 'index', NULL, 'PRIMARY', '82', NULL, '703166', 'Using where; Using index'
'5', 'DERIVED', 'yp_ent_par_materialize', 'index', NULL, 'PRIMARY', '82', NULL, '703166', 'Using where; Using index'
'4', 'DERIVED', 'yp_ent_par_materialize', 'index', NULL, 'PRIMARY', '82', NULL, '703166', 'Using where; Using index'
'3', 'DERIVED', 'yp_ent_par_materialize', 'index', NULL, 'PRIMARY', '82', NULL, '703166', 'Using where; Using index'
wenn ich mir das so ansehe, sind ja die queries indiziert (nr. 6,5,4,3)
nummer 2 ist jedes mal wohl der join... (ent_par_materialize entspricht waren_assoc_all; ich wollte euch/dir nur das wirrwar der nomenklatur meiner kollegen ersparen *fg*; kannst auch gern die originaldefinitionen haben...)
bis später!
gerald