请问各位兄台,
当我有两个Table时,Customer 会link到Customer Location 的Table,因为一个Customer可能有几个分行,我的问题是,当我有一万个Customer对应到一万个Customer Location时,整个Query在读取的时候就要达三分钟那么久,请问这个正常吗?我用的是Mysql,你们的Database Server也是如此吗?
我的设计如下,
Customer:='Create Table ac_customer ('+
'com_code varchar(10) not null,'+
'cus_code varchar(10) not null,'+
'cus_name varchar(30) ,'+
'cus_attention varchar(30) ,'+
'cus_date date ,'+
'cus_websites varchar(30) ,'+
'cus_email varchar(30) ,'+
'cus_registercode varchar(20) ,'+
'emp_code_salesman varchar(10) ,'+
'cur_code varchar(10) ,'+
'cus_type Enum(''Retail'',''Personal'',''Dealer'') ,'+
'cusgrp_code varchar(10) ,'+
'cusacgrp_code varchar(10) ,'+
'pm_code varchar(10) ,'+
'dlt_code varchar(10) ,'+
'dlm_code varchar(10) ,'+
'cdt_code varchar(10) ,'+
'cus_creditlimit double(11,2) ,'+
'cus_creditused double(11,2) ,'+
'cus_flatdisc double(11,2) ,'+
'bank_code varchar(10) ,'+
'cus_bankaccount varchar(30))';
Customer Location:='Create Table ac_cuslocation ('+
'com_code varchar(10) not null,'+
'cus_code varchar(10) not null,'+
'cusloc_code varchar(10) not null,'+
'cusloc_name varchar(30),'+
'cusloc_address1 varchar(30),'+
'cusloc_address2 varchar(30),'+
'cusloc_address3 varchar(30),'+
'cusloc_poscode varchar(6),'+
'cusloc_city varchar(20),'+
'cusloc_state varchar(20),'+
'ctr_code varchar(10),'+
'cusloc_tel1 varchar(20),'+
'cusloc_tel2 varchar(20),'+
'cusloc_fax1 varchar(20),'+
'cusloc_fax2 varchar(20))';
sql:='select cus.cus_code as Code,'+
'cus.cus_name as Name,'+
'cusloc.cusloc_tel1 as Telephone,'+
'cusloc.cusloc_fax1 as Mobile,'+
'cus.cus_attention as Attention '+
'from ac_customer as cus,ac_cuslocation as cusloc '+
'where cus.com_code=:comCode and '+
'cus.cus_code=cusloc.cus_code and '+
'cusloc.cusloc_code=:cusLocCode '+
'order by cus.cus_name ';
先谢谢大家的意见了!!! |