30. januar 2005 - 11:39Der er
14 kommentarer og 1 løsning
auto increment
Hvis man har et felt med auto_increment. Er det så i ALLE tilfælde mest optimalt at have en primary key på den, eller er der nogle tilfælde hvor det er godt nok bare at have en almindelig index?
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
jamen jeg har jo også kun et auto_increment felt i hver table :) jeg ville bare lige vide om det i ALLE tilfælde vil være mest optimalt med en primary key på den?
ud fra denne query, hvordan ville du så indexere tablen? :)
SELECT debate.id, IFNULL(MAX(debate2.time), debate.time) AS last_time FROM $DB.debate debate LEFT JOIN $DB.debate debate2 ON debate.id=debate2.thread_id && debate2.reply_id!=0 WHERE debate.topic='$_GET[tab]' && debate.reply_id=0 GROUP BY debate.thread_id ORDER BY last_time DESC
CREATE TABLE `debate` ( `id` mediumint(7) NOT NULL auto_increment, `topic` tinyint(1) NOT NULL default '0', `thread_id` mediumint(7) NOT NULL default '0', `reply_id` mediumint(7) NOT NULL default '0', `user_id` smallint(5) unsigned NOT NULL default '0', `time` int(10) NOT NULL default '0', `subject` varchar(40) NOT NULL default '', `msg` text NOT NULL, PRIMARY KEY (`id`) ) TYPE=MyISAM AUTO_INCREMENT=1 ;
Et index behøver ikke at være unik. Et unikt index ligner meget en primary key. Men en felt med unikt index kan indeholde NULL i modsætning til en primary key og du kan have flere unikke index men kun en primary key.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.