テーブルのインデックス作成を手伝ってもらえますか?
問題は、テーブルにインデックスを付けたことですが、Explain に「フル テーブル スキャン」がまだ残っていることです。
これは私の(作業中の)クエリですが、大きなテーブルでは遅くなる可能性があり、これを変更する方法がわかりません
EXPLAIN select * from stats_clicked s
join visitor v on s.visitor_id=v.id
ps。index3 - 訪問者 = 1 が id = 5 のページを更新するときに値 (1,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);