Können Sie mir helfen mit Index meine Tabellen?Wahrscheinlich schlechter Index, vollständige Tabelle scannen
Problem ist, dass ich meine Tabellen indiziert, aber ich immer noch „Full Table Scan“ habe in meinem erklären
das ist meine (Arbeits-) Abfrage, aber auf großen Tischen könnte es langsam sein, und ich weiß nicht, wie um dies zu ändern
EXPLAIN select * from stats_clicked s
join visitor v on s.visitor_id=v.id
ps. index3 - ich nicht oft Werte wan't (1,5), wenn Besucher = 1 Refresh-Seite mit id = 5
CREATE TABLE `visitor` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`visited_time` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
CREATE TABLE `stats_clicked` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`visitor_id` int(11) NOT NULL,
`page_clicked_id` int(11) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `index3` (`visitor_id`,`page_clicked_id`),
KEY `index1` (`visitor_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
insert into visitor (`visited_time`) values
(1467122944),(1467122944),(1467122944),
(1467122944),(1467122944),(1467122944),
(1467122944),(1467122944),(1467122944),
(1467122944),(1467122944),(1467122944),
(1467122944),(1467122944),(1467122944);
insert into `stats_clicked` (`visitor_id`,`page_clicked_id`) values
(1,47),(2,24),(3,83),(3,8),(3,85),(3,88),(4,57),
(5,2),(6,1),(7,28),(8,83),(9,11),(9,16),(9,1),(10,17),
(11,70),(12,73),(13,97),(14,57),(15,30),(15,2),(15,22);
Was ist Ihr Fehler? Was kannst du nicht tun? – Fredster
Es scheint, dass das Schema für die Tabelle 'stats_clicked' korrekt ist, wenn Sie wollen' (visitor_id, page_clicked_id) 'eindeutig sein und ** visitor_id = 1 und page_clicked_id = 5 ** nicht mehr akzeptieren – Fredster
Problem ist, dass ich meine Tabellen indiziert habe, aber ich habe immer noch "full table scan" in meinem EXPLAIN –