我的問題是關於索引和主鍵。索引和主鍵
讓我們假設我們有這樣一個表:
demo_table
| id | int(11) | NO | PRI | |
| subject | varchar(255) | YES | | NULL |
| body | text | YES | | NULL |
| to | varchar(255) | YES | MUL | NULL |
| from | varchar(255) | YES | MUL | NULL |
| media | varchar(255) | YES | | NULL |
我有一個查詢,查找特定的最後一排「到」 /「媒體」夫婦:
select * from demo_table where to="" and media="" order by id desc limit 0,1;
和我想爲我的表創建一個索引。我應該創建這樣的指標:
CREATE INDEX to_media on demo_table(media,to);
或像這樣:
CREATE INDEX to_media on demo_table(id,media,to);
看到該ID進行排序?
什麼是你的問題,你有什麼問題嗎? – pltvs
它是MyISAM還是InnoDB表?在InnoDB中,PK始終是索引中的第一列,即使您沒有指定它。 – Mchl
您應該留意有這麼多列允許空值。索引VARCHAR(255)列不一定是個好主意(儘管它並不總是一個壞主意)。你會得到查詢優化器使用的三部分索引嗎?我不相信你會。您可能會使用兩部分索引,但我不確定您是否會使用足夠的索引來保證其存在。 –