Here's another option to load without requiring a primary key (requires a LOT of extra disk space and fast CPU, and a batch window to run).
Load the new daily data into the table without checking for dupes. Then create a new version of the table with distinct values. Something like this (assuming your table has 2 columns which are char (3) and char (5) for simplicity's sake) in pseudocode: (remember to pad all columns to the maximum width to make them uniform, right spaces on char, left zeroes on numerics) CREATE NEW_TABLE AS SELECT SUBSTR (DISTINCT (RPAD(COL1,3) || RPAD(COL2,5)),1,3) AS COL1, SUBSTR (DISTINCT (RPAD(COL1,3) || RPAD(COL2,5)),4,5) AS COL2 FROM OLD_TABLE matt ryan <[EMAIL PROTECTED]> 07/16/2004 07:43 AM To: cc: [EMAIL PROTECTED] Subject: Re: Mysql growing pains, 4 days to create index on one table! Donny Simonton wrote: >Matt, >I've been reading this thread for a while and at this point, I would say >that you would need to provide the table structures and queries that you are >running. > >For example, we have one table that has 8 billion rows in it and it close to >100 gigs and we can hammer it all day long without any problems. It really >depends on how you are doing things. > >But as far as you mentioning about mysql not using multiple indexes, it >does. You just have to create an index on multiple fields at one time. >I've got tables with 10 fields in one index, now the trick with mysql is >that you must use all top 10 fields in your where clause for mysql to really >take advantage of the index. > >But I would definitely send the list your table structure with your indexes >and some of your selects and inserts. You can always change the names of >things if you don't want people to know the names of everything. > >Just my 2 cents. > > Original email has the table structure, query speed is not an issue (it is, but I will deal with that later) the issue is insert speed, I get 150k-1M records daily, of these, only 5-10 % are new records, I load the EBCDIC file into a temp table, and then do "insert ignore into historytable select * from temp table" and I cant create multiple field indexes, I would need 100 indexes on a table, the index side already exceeds the table size, I tried to add an index on date, but gave up because it ran for 2 days and was not done yet. -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]