我这有三个字段如aid id2 id31 1 2
2 1 3
3 1 4
4 2 2
5 2 3
6 2 4
7 3 1
8 3 2id 是编号id2 是存数字 如1 2 3 id3 是存数字 是根据id2 唯一的不同数字就是id2和id3只有一条相同的记录这样的存储如何建表数据可能达到5千万条以上希望能建索引查询快一点查询语句是 select id from a where id2='2' and id3='3';我是知道id2和id3情况下要知道有没有这样一条记录解决两个问题一、如果建这个表二、如果查询id2和id3返回一个结果(select id from a where id2='2' and id3='3';)这样是不是最快的要求速度要快就是优化的意思
2 1 3
3 1 4
4 2 2
5 2 3
6 2 4
7 3 1
8 3 2id 是编号id2 是存数字 如1 2 3 id3 是存数字 是根据id2 唯一的不同数字就是id2和id3只有一条相同的记录这样的存储如何建表数据可能达到5千万条以上希望能建索引查询快一点查询语句是 select id from a where id2='2' and id3='3';我是知道id2和id3情况下要知道有没有这样一条记录解决两个问题一、如果建这个表二、如果查询id2和id3返回一个结果(select id from a where id2='2' and id3='3';)这样是不是最快的要求速度要快就是优化的意思
是可以有像
id id2 id3
1 1 1
2 2 2
3 4 4
44 5 5就是 id2和id3只有一条相同的记录
不会出现像这样
1 1 1
2 1 1这样的记录
基于这样的需求下,你可以像你这样建立表,然后在(id2,id3)上建立复合的唯一索引即可。
1 1 1
2 2 2
3 4 4
44 5 5
select id from a where id2='2' and id3='3';
create unique index 索引名 on 表名(id2,id3)