| 
	
 | 
	
          
            
              
                | Тема | 
                   mysql compare | 
                 |  
| Автор | 
killall (Дядо Мраз) | 
 |  
| Публикувано | 12.10.06 11:22 | 
 
 |  
 
 |  
        | 
         
        
  
        
					
				
			 
				Здравейте,
 
 имам следния проблем : Да си представим, че имаме таблица А и таблица В. Всяка от тези таблици има само по една колона тип инт, която се нарича ИД примерно. Целта ми е да намеря всички ИД-та от таблица А които не се срещат в таблица Б. Пробвах следното :
 
 select A.id from A left join B on A.id=B.id where B.id is null
 
 Това работи, но е аааадски бавно. При малко по-натоварен сървър отнема към 10-15 часа!!! В двете таблици има м/у 10 и 20 000 000 записа, като 99.99 % се повтарят, има най-много 20тина, които не се срещат в таблица Б. 
 
 Търся по-бърз начин за намиране на липсващите записи. Отворен съм за всякакви предложения. 
 
 Благодаря предварително
 
 
 
 П.С.
 използвам mysql 4.0.20-standard ( не ме питайте защо, не мога да го променя ), едната таблица (тази с по-малкото записи) е InnoDB, а другата - MyISAM
  
 Time is like a drug. Too much of it kills you.
        
        
  
          |  | 
 |    |   
 
 |  
 |   
 |