比如表的一个字段type包括四个值“文章”“视频”“图片”“其他”,应该直接将汉字加入数据库还是用一些数字(1=文章,2=视频)代替,来存入数据库?是不是用数字代替的话,以后查询更快?

解决方案 »

  1.   

    举例说明:
    DB:  type
            1
            2
            3 
            4程序: $arr_type={1=>"文章",
                      2=>"视频",
                      3=>"图片",
                      4=>"其它"
                      } 
           $rows=$this->query("SELECT type FROM table");
           foreach($rows as $key){
                $arr_page_type[] = $arr_type[$key];
           }
           
      

  2.   

    如果需要灵活性的话,一般来说商业的作法(减少以后麻烦),
     -- 用数字,这样即使某天客户要求 “图片”改成"IMAGE"的话,也比较容易。一般来说,是再建一个参照表,存放所有这类数据
    CREATE TABLE keyDct ( 
      DCTKEY    VARCHAR2 (20)  NOT NULL, 
      SDISPLAY  VARCHAR2 (100), 
      DISPSEQ   NUMBER, 
      VALUEC    VARCHAR2 (100), 
      VALUEN    NUMBER (10,4), 
      VALUE1    VARCHAR2 (50), 
      VALUE2    VARCHAR2 (50), 
      VALUE3    VARCHAR2 (50)
    )[align=center]====  ====
    [/align]