簡體   English   中英

將索引添加到現有MySQL表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM