【发布时间】:2014-05-11 17:16:36
【问题描述】:
我有一个表 CategoryLinks 有两列 (article_id,category_id) 都是整数索引。
这是我唯一的索引。
我想要所有 article_ids 的 categorie_ids 1,2,3 或 4,5
我用in(1,2,3,4,5) 尝试过,然后使用 php,但速度很慢,我认为 MySql 应该可以。
顺便说一句。 CategoryLinks 有超过 500,000 行
感谢您的任何提示!
Show Create table CategoryLinks
CREATE TABLE `CategoryLinks` (
`article_id` int(10) NOT NULL,
`category_id` int(7) NOT NULL,
UNIQUE KEY `Unique` (`article_id`,`category_id`),
KEY `category_id` (`category_id`),
KEY `article_id` (`article_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
【问题讨论】:
-
如果他们有 1,2,3 和 4 怎么办?
-
1,2,3,4 没问题,因为它是 1,2,3 :)
-
该键应该是 PRIMARY 并丢失其他索引。 int(10) 和 int(7) 有什么区别?
-
哪个键应该是主键?而且文章多于类别。
-
创建表
CategoryLinks(article_idINT NOT NULL,category_idINT NOT NULL, PRIMARY KEY (article_id,category_id));