[英]Add Index to Existing MySQL Table
我有一個數據庫,我的表當前正在使用,沒有定義索引。 我希望盡可能提高速度。 我已經准備好了索引,但想知道它是否也需要成為主鍵? 此外,對於表中的舊記錄,索引將為null。 這是一個問題嗎? 我想知道最好的方法是什么。
這是當前的表結構(我計划只插入'id'作為索引)
Field Type Collation Attributes Null
user varchar(255) utf8_general_ci No
pass varchar(255) utf8_general_ci No
ts varchar(255) utf8_general_ci No
lat varchar(255) utf8_general_ci No
似乎對指數究竟是什么存在誤解。 您不需要其他字段。 您可以在表中的現有字段上的一個或多個上創建索引,如下所示:
alter table xxxx add index idx_user (user);
創建此索引不會向表中添加任何字段。 相反,MySQL將在后台創建一個額外的樹,以便更快地進行查找。 每當您更改表中的數據時,此樹都會自動更新,因此它不是免費提供的。 但是,在通常用於查找表中行的列上創建索引可能是個好主意。
您還應該閱讀一般的索引: https : //dev.mysql.com/doc/refman/5.7/en/mysql-indexes.html
試試這樣: -
CREATE FULLTEXT INDEX `idxtags` ON `table1`(`tags`)
如果你想要,你也可以試試這個: -
ALTER TABLE Tablename ADD id Int NOT NULL AUTO_INCREMENT PRIMARY KEY;
這將在行上添加唯一索引。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.