আমি কি কলামে পৃথক সূচকটি নির্ধারণ করব email
(অনুসন্ধানের উদ্দেশ্যে), বা UNIQ_EMAIL_USER
সীমাবদ্ধতার সাথে সূচকটি "স্বয়ংক্রিয়ভাবে" যুক্ত করা হবে ?
CREATE TABLE IF NOT EXISTS `customer` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`first` varchar(255) NOT NULL,
`last` varchar(255) NOT NULL,
`slug` varchar(255) NOT NULL,
`email` varchar(255) NOT NULL,
`created_at` datetime NOT NULL,
`updated_at` datetime NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `UNIQ_SLUG` (`slug`),
UNIQUE KEY `UNIQ_EMAIL_USER` (`email`,`user_id`),
KEY `IDX_USER` (`user_id`)
) ENGINE=InnoDB;
সম্পাদনা : কর্বিন i এর পরামর্শ অনুসারে EXPLAIN SELECT * FROM customer WHERE email = 'address'
খালি টেবিলে জিজ্ঞাসা করেছিলেন । এটি ফলাফল, আমি এটি ব্যাখ্যা করতে জানি না:
id select_type type possible_keys key key_len ref rows Extra
1 SIMPLE ALL NULL NULL NULL NULL 1 Using where
টেবিলে একটি IXD_EMAIL যুক্ত করার সময় একই কোয়েরিটি দেখায়:
id select_type type possible_keys key key_len ref rows Extra
1 SIMPLE ref IDX_EMAIL IDX_EMAIL 257 const 1 Using where