awk scripting

Hi

I have 2 files of large size( 10 Miilions) , i want to join 2 files based on some condition .
for this taking lot of time and 100 cpu .i want to iterate the based on some value (like 1 lakh)
I put the 2 files in the associative arrays . if the array limit reaches the 1 lach join the with the second file . this process is repeate at last line of the file .

BEGIN{
FS="|"
while((getline line < analyzer ) > 0 ){
split( line,analyzerInfo,"|")
domainName =analyzerInfo[1]
domainPurpose=analyzerInfo[3]
if(domainPurpose ~ /^PPC_PARKED$/){
if( domainName in dnameArrayanalyzer){
#dnameArrayanalyzer[domainName]=line
}
else{
dnameArrayanalyzer[domainName]=analyzerInfo[1]
}
}
}
}
{
domainNameRegi =$1
if( domainNameRegi in dnameArrayanalyzer){
RegiId=$2
RagiName=$3
if( domainNameRegi in Regiinfo ){
}
else{
#print $0 > RegiId"Domains" #it prints the domains into RegiIdDomains if the RegiID same
print $0 > "Domains" #it prints the domains into Domains
if(RagiName in Regiinfo){
Regiinfo[RagiName] = Regiinfo[RagiName] + 1
}
else{
Regiinfo[RagiName]=1
}
}
}
else{
#print $0 >"domainNotMatchRegi"
}
}
END{
print "########################################" > "Domains"
print " NoofDomains RegistrarWise " >"Domains"
print "########################################" > "Domains"
for( var in Regiinfo ){
print var "| " Regiinfo[var] > "Domains" #"NoOfDomainsRegistrarWise"
}
}

when i am executing lot of time for 10 miilion records .

The code is unreadable, please use indentation to improve the readability and place the code between code tags.

[CODE]BEGIN{
FS="|"
while((getline line < analyzer ) > 0 ){
split( line,analyzerInfo,"|")
domainName =analyzerInfo[1]
domainPurpose=analyzerInfo[3]
if(domainPurpose ~ /^PPC_PARKED$/){
if( domainName in dnameArrayanalyzer){
#dnameArrayanalyzer[domainName]=line
}
else{
dnameArrayanalyzer[domainName]=analyzerInfo[1]
}
}
}

}
{
domainNameRegi =$1
if( domainNameRegi in dnameArrayanalyzer){
RegiId=$2
RagiName=$3
if( domainNameRegi in Regiinfo ){
}
else{
#print $0 > RegiId"Domains" #it prints the domains into
print $0 > "Domains" #it prints the domains into Domains
if(RagiName in Regiinfo){
Regiinfo[RagiName] = Regiinfo[RagiName] + 1
}
else{
Regiinfo[RagiName]=1
}
}
}
else{
#print $0 >"domainNotMatchRegi"
}
}

END{
print "##################################" > "Domains"
print " NoofDomains RegistrarWise " >"Domains"
print "####################################" > "Domains"
for( var in Regiinfo ){
print var "| " Regiinfo[var] > "Domains" #"NoOfDomainsRegistrarWise"
}
}