How do you know these possibly duplicate records are not already in the
table?
What is wrong with adding a unique index on (fld2,fld3) ?

Hu Qinan wrote:

>Dear all, 
>
>I intend to write a large volume of records to a table tbl. 
>
>tbl:
>fld1, int unsigned not null auto_increment primary key,
>fld2, text
>fld3, text
>
>The combination of (fld2, fld3) should be be unique, so I need to check for 
>duplicates every time when a record is added. 
>-->Question1: How to speed up insertions to this table in MySQL? 
>
>To speed up the insertion, I try to write all records (with duplicates of fld_2 and 
>fld_3) into a temporary table.
>     CREATE TEMPORARY TABLE T (
>        ID INT UNSIGNED NOT NULL AUTO_INCREMENT, 
>        fld2 TEXT
>        fld3 TEXT);
>
>Then I try to select distinct fld2 and fld3 from the temproary table. And then insert 
>them into tbl.
>    INSERT INTO tbl SELECT DISTINCT fld1, fld2 FROM T;
>But it does not work, since the column counts do not match.
>
>I try to use 
>    INSERT INTO tbl SELECT DISTINCT * FROM T;
>But since all IDs are distinct, all records in T will be inserted into tbl.
>-->Question2: How to insert records with distinct (fld2 and fld3) into tbl in MySQL?
>
>Thanks a lot.
>
>  
>



---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to