我这有三个字段如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';)这样是不是最快的要求速度要快就是优化的意思

解决方案 »

  1.   

    就是id2和id3只有一条相同的记录 
    是可以有像
    id  id2 id3
    1   1    1
    2   2    2
    3   4    4
    44  5    5就是 id2和id3只有一条相同的记录
    不会出现像这样
    1    1    1
    2    1    1这样的记录
      

  2.   

    select  id  from  a  where  id2='2' and id3='3';)id2和id3只有一条相同的记录 ----------------------------
    基于这样的需求下,你可以像你这样建立表,然后在(id2,id3)上建立复合的唯一索引即可。
      

  3.   

    create unique index 索引名 on 表名(id2,id3)
      

  4.   

    id  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)