Using PhpMyAdmin, I seldom get the warning message:
PRIMARY and INDEX keys should not both be set for column `ID`
I understand its meaning, but I was wondering to what extent having a
field indexed AND being a primary key might slow down/speed up my
queries.
Is that gonna take twice the time if I am searching on the ID field,
just because there are two indexes?
I'd like to have a rough idea of how serioulsy I need to avoid these.
Thank you,
Yannick
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/mysql?unsub=myo...@freebsd.csie.nctu.edu.tw
Creating a PRIMARY KEY will automatically create an index.
Why would you create a second index for that field?
With regards,
Martijn Tonies
Database Workbench - tool for InterBase, Firebird, MySQL, Oracle & MS SQL
Server
Upscene Productions
http://www.upscene.com
Database development questions? Check the forum!
http://www.databasedevelopmentforum.com
> Hi all,
>
> Using PhpMyAdmin, I seldom get the warning message:
> PRIMARY and INDEX keys should not both be set for column `ID`
>
> I understand its meaning, but I was wondering to what extent having a
> field indexed AND being a primary key might slow down/speed up my
> queries.
>
> Is that gonna take twice the time if I am searching on the ID field,
> just because there are two indexes?
>
> I'd like to have a rough idea of how serioulsy I need to avoid these.
It will not slow down your searches at all, but it will slow down your
inserts. Since a PRIMARY KEY is a UNIQUE index that happens to have been
declared to be primary, you are simply storing the same information twice.
I cannot think of any possible benefit in having two identical indexes on
a table, and there is a cost to maintaining two index trees.
Alec
I'm asking myself the same question. I am working on someone else's
database.
Thanks both,
Yannick
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/mysql?unsub=3Dmy...@freebsd.csie.nctu.edu.tw
Is it a multi-field index ? some versions of phpmyadmin show that
messages also if only one field is duplicated.
example:
CREATE TABLE `tab_sint` (
`id_cns` tinyint(3) unsigned NOT NULL default '0',
`anno_dep` smallint(4) unsigned zerofill NOT NULL default '0000',
`data_dep` smallint(4) unsigned zerofill NOT NULL default '0000',
`particolare` mediumint(8) unsigned NOT NULL default '0',
`generale` mediumint(8) unsigned NOT NULL default '0',
UNIQUE KEY `idx_cns_gen_anno`
(`anno_dep`,`id_cns`,`generale`,`particolare`),
UNIQUE KEY `idx_cns_par_anno`
(`id_cns`,`anno_dep`,`tipo`,`particolare`,`bis`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 PACK_KEYS=1 AUTO_INCREMENT=87189031 ;
This schema issue the warning on 'id_cns' but really make sense having 2
indices here since they serves different kind of querys and constraints.
Regards,
Francesco
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/mysql?unsub=myo...@freebsd.csie.nctu.edu.tw
No, no, it's just a dumb double index :-)
I am pretty sure it is completely useless. Actually I have already
removed it.
Yannick
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/mysql?unsub=3Dmy...@freebsd.csie.nctu.edu.tw