mysql怎么調節索引 mysql 索引修改

MySQL中如何設置唯一索引,聯合索引?

1.UNIQUE 關鍵字建唯一索引

創新互聯建站-專業網站定制、快速模板網站建設、高性價比河南網站開發、企業建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式河南網站制作公司更省心,省錢,快速模板網站建設找我們,業務覆蓋河南地區。費用合理售后完善,10余年實體公司更值得信賴。

mysql CREATE TABLE `wb_blog` (

- `id` smallint(8) unsigned NOT NULL,

- `catid` smallint(5) unsigned NOT NULL DEFAULT '0',

- `title` varchar(80) NOT NULL DEFAULT '',

- `content` text NOT NULL,

- PRIMARY KEY (`id`),

- UNIQUE KEY `catename` (`catid`)

- ) ;

如果建好表了,可以用以下語句建

mysql CREATE UNIQUE INDEX catename ON wb_blog(catid);

2.聯合索引

ALTER TABLE `tasks`

ADD INDEX `testabc` (`title`, `created`) ;

3聯合唯一索引(假設有這個需求,在同一天內不能建兩個tiltle一樣的任務)

ALTER TABLE `tasks`

ADD UNIQUE INDEX `testabc` (`title`, `created`) ;

數據庫建索引的科學性事關數據庫性能,索引也不是越多越好。

MYSQL數據庫索引怎么設置

所列三張表只是主外鍵查詢問題,

那每張表的主鍵分別都要建索引(文章ID、分類ID、用戶ID),

第一張表由于要分類關聯查詢、按編輯用戶查詢,所以引用鍵也要分別建索引(分類ID、用戶ID)。

mysql怎么設計索引

1.添加PRIMARY KEY(主鍵索引)

mysqlALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )

2.添加UNIQUE(唯一索引)

mysqlALTER TABLE `table_name` ADD UNIQUE (

`column`

)

3.添加INDEX(普通索引)

mysqlALTER TABLE `table_name` ADD INDEX index_name ( `column` )

4.添加FULLTEXT(全文索引)

mysqlALTER TABLE `table_name` ADD FULLTEXT ( `column`)

5.添加多列索引

mysqlALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` )

如何理解并正確使用MySQL索引

MySQL索引類型包括:

(1)普通索引

這是最基本的索引,它沒有任何限制。它有以下幾種創建方式:

◆創建索引

CREATE INDEX indexName ON mytable(username(length)); 如果是CHAR,VARCHAR類型,length可以小于字段實際長度;如果是BLOB和TEXT類型,必須指定 length,下同。

◆修改表結構

ALTER mytable ADD INDEX [indexName] ON (username(length))

◆創建表的時候直接指定

CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL, INDEX [indexName] (username(length)) ); 刪除索引的語法:

DROP INDEX [indexName] ON mytable;

(2)唯一索引

與前面的普通索引類似,不同的就是:索引列的值必須唯一,但允許有空值。如果是組合索引,則列值的組合必須唯一。它有以下幾種創建方式:

◆創建索引

CREATE UNIQUE INDEX indexName ON mytable(username(length))

◆修改表結構

ALTER mytable ADD UNIQUE [indexName] ON (username(length))

◆創建表的時候直接指定

CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL, UNIQUE [indexName] (username(length)) );

(3)主鍵索引

它是一種特殊的唯一索引,不允許有空值。一般是在建表的時候同時創建主鍵索引:

CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL, PRIMARY KEY(ID) ); 當然也可以用 ALTER 命令。記?。阂粋€表只能有一個主鍵。

(4)組合索引

為了形象地對比單列索引和組合索引,為表添加多個字段:

CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL, city VARCHAR(50) NOT NULL, age INT NOT NULL ); 為了進一步榨取MySQL的效率,就要考慮建立組合索引。就是將 name, city, age建到一個索引里:

ALTER TABLE mytable ADD INDEX name_city_age (name(10),city,age); 建表時,usernname長度為 16,這里用 10。這是因為一般情況下名字的長度不會超過10,這樣會加速索引查詢速度,還會減少索引文件的大小,提高INSERT的更新速度。

如果分別在 usernname,city,age上建立單列索引,讓該表有3個單列索引,查詢時和上述的組合索引效率也會大不一樣,遠遠低于我們的組合索引。雖然此時有了三個索引,但MySQL只能用到其中的那個它認為似乎是最有效率的單列索引。

當前標題:mysql怎么調節索引 mysql 索引修改
文章鏈接:http://m.kartarina.com/article8/dogiiop.html

成都網站建設公司_創新互聯,為您提供標簽優化、外貿網站建設、域名注冊、網站營銷、用戶體驗定制開發

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

商城網站建設
主站蜘蛛池模板: 人妻老妇乱子伦精品无码专区| 亚洲一区二区三区无码国产| 国产成人亚洲精品无码AV大片 | 无码人妻精品一区二区三区99性| 亚洲AV无码乱码国产麻豆| 亚洲中文字幕无码爆乳AV| 久久久久无码精品国产不卡| 亚洲AV无码专区日韩| 人妻无码久久一区二区三区免费| 亚洲aⅴ无码专区在线观看 | 亚洲av无码国产综合专区| 永久免费av无码网站大全| 青青草无码免费一二三区| 无码日韩精品一区二区人妻| 精品多人p群无码| 中文无码成人免费视频在线观看| 亚洲AV无码男人的天堂| 精品无码久久久久久午夜| 亚洲综合无码AV一区二区| 无码8090精品久久一区| 国产精品亚洲专区无码牛牛| 亚洲成AV人片在线观看无码| 国产精品无码无卡无需播放器| 无码一区二区三区爆白浆| 精品深夜AV无码一区二区| 久久青青草原亚洲AV无码麻豆| 国模无码一区二区三区不卡| 国产乱子伦精品免费无码专区| 人妻av中文字幕无码专区| 中文字幕无码免费久久99| 亚洲av无码不卡| 日韩欧国产精品一区综合无码| 亚洲精品国产日韩无码AV永久免费网| 亚洲精品无码成人片久久不卡| 中文字幕无码成人免费视频| 久久亚洲精品无码AV红樱桃| 色AV永久无码影院AV| 精品欧洲AV无码一区二区男男| 中文国产成人精品久久亚洲精品AⅤ无码精品 | 中文字幕无码精品亚洲资源网| 无码精油按摩潮喷在播放|