Hello,
Let me just outline the table in question first.
I have a rather large (40,000,000 rows) table as follows:
Table: MessageIDs
Create Table: CREATE TABLE `MessageIDs` (
`mid_msgid` char(96) NOT NULL default '',
`mid_fileid` int(10) unsigned NOT NULL default '0',
`mid_segment` smallint(5) unsigned NOT NULL default '0',
`mid_date` int(10) unsigned NOT NULL default '0',
`mid_bytes` mediumint(8) unsigned NOT NULL default '0',
KEY `fid_msgid` (`mid_fileid`,`mid_msgid`(5)),
KEY `fid_bytes` (`mid_fileid`,`mid_bytes`),
KEY `mid_date` (`mid_date`)
) TYPE=MyISAM PACK_KEYS=1 DELAY_KEY_WRITE=1
Index details:
mysql> show indexes from MessageIDs;
+------------+------------+-----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation |
Cardinality | Sub_part | Packed | Null | Index_type | Comment |
+------------+------------+-----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
| MessageIDs | 1 | fid_msgid | 1 | mid_fileid | A |
1114302 | NULL | NULL | | BTREE | |
| MessageIDs | 1 | fid_msgid | 2 | mid_msgid | A |
20057449 | 5 | NULL | | BTREE | |
| MessageIDs | 1 | fid_bytes | 1 | mid_fileid | A |
1114302 | NULL | NULL | | BTREE | |
| MessageIDs | 1 | fid_bytes | 2 | mid_bytes | A |
40114898 | NULL | NULL | | BTREE | |
| MessageIDs | 1 | mid_date | 1 | mid_date | A |
1744126 | NULL | NULL | | BTREE | |
+------------+------------+-----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
Now, what I want to do with this table is create a unique index on
(mid_fileid, mid_segment).
How does MySQL deal with ensuring that a unique index doesn't end up
non-unique with a table this large? Is making this index going to
proportionally slow down my inserts as the table grows? Would I be
better making it a non-unique index, and doing a select to ensure I'm
not inserting a duplicate?
Thanks for any tips,
--
Chris
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]