中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

搜索網(wǎng)站怎么做產(chǎn)品營(yíng)銷推廣的方案

搜索網(wǎng)站怎么做,產(chǎn)品營(yíng)銷推廣的方案,wordpress影視主題,做任務(wù)網(wǎng)站排行榜目錄 一、索引的概述 1、索引的概念 2、索引的作用 3、索引的副作用 4、創(chuàng)建索引的原則依據(jù) 5、索引優(yōu)化 6、索引的分類 7、數(shù)據(jù)文件與索引文件 二、管理數(shù)據(jù)庫(kù)索引 1、查詢索引 2、創(chuàng)建索引 2.1 創(chuàng)建普通索引 2.2 創(chuàng)建唯一索引 2.3 創(chuàng)建主鍵索引 2.4 創(chuàng)建組合…

目錄

一、索引的概述

1、索引的概念

2、索引的作用?

3、索引的副作用

4、創(chuàng)建索引的原則依據(jù)

5、索引優(yōu)化

6、索引的分類

7、數(shù)據(jù)文件與索引文件

二、管理數(shù)據(jù)庫(kù)索引

1、查詢索引

2、創(chuàng)建索引

2.1 創(chuàng)建普通索引

2.2 創(chuàng)建唯一索引

2.3 創(chuàng)建主鍵索引

2.4 創(chuàng)建組合索引

2.5 創(chuàng)建全文索引

3、刪除索引

3.1 直接刪除索引

3.2 修改表格式方式刪除索引

3.3 刪除主鍵索引

三、總結(jié)

1、索引類型

2、索引創(chuàng)建的三大方法


一、索引的概述

1、索引的概念

  • 索引是一個(gè)排序的列表,在這個(gè)列表中存儲(chǔ)著索引的值和包含這個(gè)值的數(shù)據(jù)所在行的物理地址(類似于C語(yǔ)言的鏈表通過(guò)指針指向數(shù)據(jù)記錄的內(nèi)存地址)
  • 使用索引后可以不用掃描全表來(lái)定位某行的數(shù)據(jù),而是先通過(guò)索引表找到該行數(shù)據(jù)對(duì)應(yīng)的物理地址然后訪問(wèn)相應(yīng)的數(shù)據(jù),因此能加快數(shù)據(jù)庫(kù)的查詢速度
  • 索引就好比是一本書(shū)的目錄,可以根據(jù)目錄中的頁(yè)碼快速找到所需的內(nèi)容
  • 索引是表中一列或者若干列值排序的方法
  • 建立索引的目的是加快對(duì)表中記錄的查找或排序

2、索引的作用?

  • 加快數(shù)據(jù)檢索速度:通過(guò)索引,數(shù)據(jù)庫(kù)系統(tǒng)可以更快地定位到需要的數(shù)據(jù),而不必掃描整個(gè)表能夠大大加快查詢速率。當(dāng)表很大或查詢涉及到多個(gè)表時(shí),可以成干上萬(wàn)倍地提高查詢速度
  • 加速數(shù)據(jù)排序:索引可以幫助數(shù)據(jù)庫(kù)系統(tǒng)快速排序數(shù)據(jù),例如在ORDER BY子句中使用索引可以提高排序的效率
  • 優(yōu)化連接操作:對(duì)連接操作進(jìn)行優(yōu)化,特別是在多表連接時(shí),索引可以顯著提升查詢性能
  • 約束唯一性:可以使用索引來(lái)確保某些列或列組的數(shù)值在表中是唯一的,這種約束可以通過(guò)UNIQUE索引或主鍵索引來(lái)實(shí)現(xiàn)
  • 降低數(shù)據(jù)庫(kù)的IO成本:當(dāng)沒(méi)有索引可用時(shí),數(shù)據(jù)庫(kù)可能需要進(jìn)行全表掃描以找到匹配的數(shù)據(jù)。而有了索引,數(shù)據(jù)庫(kù)可以避免或減少全表掃描的情況,大大減少了IO操作的次數(shù)和數(shù)據(jù)量

?3、索引的副作用

  • 占用存儲(chǔ)空間:索引需要額外的存儲(chǔ)空間。對(duì)于大型表來(lái)說(shuō),索引可能會(huì)占據(jù)相當(dāng)可觀的存儲(chǔ)空間

  • 降低寫(xiě)操作性能:當(dāng)進(jìn)行插入、更新和刪除等寫(xiě)操作時(shí),索引也需要進(jìn)行維護(hù),這可能導(dǎo)致寫(xiě)操作的性能下降。特別是對(duì)于頻繁更新的列,索引維護(hù)成本較高

  • 增加維護(hù)成本:隨著數(shù)據(jù)的變化,索引的效率也會(huì)發(fā)生變化。因此,需要定期對(duì)索引進(jìn)行優(yōu)化和重建,這增加了維護(hù)成本

  • 過(guò)多索引影響性能:如果表上存在過(guò)多或不必要的索引,會(huì)增加查詢優(yōu)化器的選擇路徑,可能導(dǎo)致性能下降

  • 可能引起鎖問(wèn)題:在某些情況下,索引可能會(huì)引發(fā)鎖問(wèn)題,尤其是在并發(fā)環(huán)境中,需要謹(jǐn)慎處理索引以避免鎖競(jìng)爭(zhēng)

  • 統(tǒng)計(jì)信息不準(zhǔn)確:有時(shí)候索引的統(tǒng)計(jì)信息可能不準(zhǔn)確,導(dǎo)致查詢優(yōu)化器做出不恰當(dāng)?shù)膱?zhí)行計(jì)劃,從而影響性能

4、創(chuàng)建索引的原則依據(jù)

索引雖可以提升數(shù)據(jù)庫(kù)查詢的速度,但并不是任何情況下都適合創(chuàng)建索引。因?yàn)樗饕旧頃?huì)消耗系統(tǒng)資源,在有索引的情況下,數(shù)據(jù)庫(kù)會(huì)先進(jìn)行索引查詢,然后定位到具體的數(shù)據(jù)行,如果索引使用不當(dāng),反而會(huì)增加數(shù)據(jù)庫(kù)的負(fù)擔(dān)。

  • 表的主鍵、外鍵必須有索引。因?yàn)橹麈I具有唯一性,外鍵關(guān)聯(lián)的是主表的主鍵,查詢時(shí)可以快速定位
  • 記錄數(shù)超過(guò)300行的表應(yīng)該有索引。如果沒(méi)有索引,每次查詢都需要把表遍歷一遍,會(huì)嚴(yán)重影響數(shù)據(jù)庫(kù)的性能
  • 經(jīng)常與其他表進(jìn)行連接的表,在連接字段上應(yīng)該建立索引
  • 唯一性太差的字段不適合建立索引
  • 更新太頻繁地字段不適合創(chuàng)建索引
  • 經(jīng)常出現(xiàn)在 where 子句中的字段,特別是大表的字段,應(yīng)該建立索引
  • 在經(jīng)常進(jìn)行 GROUP BY、ORDER BY 的字段上建立索引
  • 索引應(yīng)該建在選擇性高的字段上
  • 索引應(yīng)該建在小字段上,對(duì)于大的文本字段甚至超長(zhǎng)字段,不要建索引??

5、索引優(yōu)化

  • 經(jīng)常用于查詢條件的列:對(duì)于經(jīng)常出現(xiàn)在 WHERE 子句中的列,特別是用作連接條件的列,創(chuàng)建索引可以提高查詢性能

  • 頻繁被用來(lái)排序的列:如果某些列經(jīng)常用于排序操作(例如在ORDER BY子句中),為這些列創(chuàng)建索引可以加快排序操作的速度

  • 用作連接條件的列:在多表連接時(shí),連接條件的列應(yīng)該建立索引,以提高連接操作的效率

  • 唯一性約束列:對(duì)于需要唯一性約束的列,如主鍵或UNIQUE約束的列,應(yīng)當(dāng)創(chuàng)建唯一索引

  • 頻繁被用于聚合函數(shù)的列:如果某些列經(jīng)常用于聚合函數(shù)(如SUM、AVG等),為這些列創(chuàng)建索引可以提高聚合查詢的性能

6、索引的分類

  • B-tree索引:這是最常見(jiàn)的索引類型,適用于各種數(shù)據(jù)類型。B-tree索引通過(guò)對(duì)索引列的值進(jìn)行排序,構(gòu)建一個(gè)類似于樹(shù)形結(jié)構(gòu)的索引,從而加快數(shù)據(jù)的檢索速度

  • 哈希索引:哈希索引基于哈希算法構(gòu)建,適用于等值查詢,例如使用=或IN操作符的查詢。相比B-tree索引,哈希索引在等值查詢時(shí)具有更好的性能,但不支持范圍查詢和排序操作

  • 全文索引:用于全文搜索的場(chǎng)景,例如對(duì)文本內(nèi)容進(jìn)行搜索。全文索引可以實(shí)現(xiàn)對(duì)文本內(nèi)容的關(guān)鍵詞搜索,并支持模糊匹配等操作

  • 空間索引:適用于地理空間數(shù)據(jù)類型,如Point、LineString、Polygon等。空間索引可以加速地理位置相關(guān)的查詢,例如查找某個(gè)區(qū)域內(nèi)的所有點(diǎn)

  • 組合索引:即將多個(gè)列組合起來(lái)創(chuàng)建的索引,可以同時(shí)提高多個(gè)列的查詢效率,特別是在涉及多列的查詢條件時(shí)

  • 唯一索引:確保索引列的數(shù)值在表中是唯一的,通常用于約束某些列或列組的唯一性

  • 主鍵索引:主鍵索引是一種特殊的唯一索引,用于唯一標(biāo)識(shí)表中的每一行數(shù)據(jù)

以上這些索引類型可以根據(jù)不同的場(chǎng)景和需求選擇合適的索引策略,以提高數(shù)據(jù)庫(kù)的查詢性能

7、數(shù)據(jù)文件與索引文件

MySQL數(shù)據(jù)庫(kù)的數(shù)據(jù)文件存放在/usr/local/mysql/data目錄下,每個(gè)數(shù)據(jù)庫(kù)對(duì)應(yīng)一個(gè)子目錄,用于存儲(chǔ)數(shù)據(jù)表文件。每個(gè)數(shù)據(jù)表對(duì)應(yīng)為三個(gè)文件,擴(kuò)展名分別為“.frm”、“.MYD”和“.MYI”

“.MYD”文件是MyISAM存儲(chǔ)引擎專用,存放MyISAM表的數(shù)據(jù)。每一個(gè)MyISAM表都會(huì)有一個(gè)“.MYD”文件與之對(duì)應(yīng),同樣存放于所屬數(shù)據(jù)庫(kù)的文件夾下,和“.frm”文件在一起。

“.MYI”文件也是專屬于 MyISAM 存儲(chǔ)引擎的,主要存放 MyISAM 表的索引相關(guān)信息。對(duì)于 MyISAM 存儲(chǔ)來(lái)說(shuō),可以被 cache 的內(nèi)容主要就是來(lái)源于“.MYI”文件中。每一個(gè)MyISAM 表對(duì)應(yīng)一個(gè)“.MYI”文件,存放于位置和“.frm”以及“.MYD”一樣。

MyISAM 存儲(chǔ)引擎的表在數(shù)據(jù)庫(kù)中,每一個(gè)表都被存放為三個(gè)以表名命名的物理文件
(frm,myd,myi)。 每個(gè)表都有且僅有這樣三個(gè)文件做為 MyISAM 存儲(chǔ)類型的表的存儲(chǔ),也就是說(shuō)不管這個(gè)表有多少個(gè)索引,都是存放在同一個(gè)“.MYI”文件中。

還有“.ibd”和ibdata文件,這兩種文件都是用來(lái)存放 Innodb 數(shù)據(jù)的,之所以有兩種文件來(lái)存放 Innodb 的數(shù)據(jù)(包括索引),是因?yàn)镮nnodb的數(shù)據(jù)存儲(chǔ)方式能夠通過(guò)配置來(lái)決定是使用共享表空間存放存儲(chǔ)數(shù)據(jù),還是獨(dú)享表空間存放存儲(chǔ)數(shù)據(jù)。獨(dú)享表空間存儲(chǔ) 方式使用“.ibd”文件來(lái)存放數(shù)據(jù),且每個(gè)表一個(gè)“.ibd”文件,文件存放在和 MyISAM 數(shù)據(jù)相同的位置。如果選用共享存儲(chǔ)表空間來(lái)存放數(shù)據(jù),則會(huì)使用 ibdata 文件來(lái)存放,所有表共同使用一個(gè)(或者多個(gè),可自行配置)ibdata 文件

二、管理數(shù)據(jù)庫(kù)索引

1、查詢索引

方法一:show create table 表名;方法二:
show index from 表名;
show index from 表名\G;    #豎向顯示表索引信息方法三:
show keys from 表名;
show keys from 表名\G;      #豎向顯示表索引信息

注:各字段含義?

字段含義
Table表的名稱
Non_unique如果索引內(nèi)容唯一,則為 0;如果可以不唯一,則為 1
Key_name索引的名稱
Seq_in_index索引中的列序號(hào),從 1 開(kāi)始。 limit 2,3
Column_name列名稱
Collation列以什么方式存儲(chǔ)在索引中。在 MySQL 中,有值‘A’(升序)或 NULL(無(wú)分類)
Cardinality索引中唯一值數(shù)目的估計(jì)值
Sub_part如果列只是被部分地編入索引,則為被編入索引的字符的數(shù)目(zhangsan)。如果整列被編入索引,則為 NULL
Packed指示關(guān)鍵字如何被壓縮。如果沒(méi)有被壓縮,則為 NULL
Null如果列含有 NULL,則含有 YES。如果沒(méi)有,則該列含有 NO
Index_type用過(guò)的索引方法(BTREE, FULLTEXT, HASH, RTREE)
Comment備注

2、創(chuàng)建索引

2.1 創(chuàng)建普通索引

普通索引也被稱為單列索引,它僅基于單個(gè)列的數(shù)值進(jìn)行排序和搜索

方法一:直接創(chuàng)建普通索引

create index 索引名 on 表名 (列名);
create index score_index on dianzi (score);
create index name_index on dianzi (name);

#使用索引實(shí)現(xiàn)查詢
select score from dianzi;
select name from dianzi;
#查看索引信息
show create table dianzi;

方法二:修改表結(jié)構(gòu)方式添加普通索引

alter table 表名 add index 索引名 (列名);
alter table dianzi add index index_id (id);

方法三:創(chuàng)建表時(shí)添加索引?

create table 表名 (字段1 數(shù)據(jù)類型,字段2 數(shù)據(jù)類型,...,index 索引名 (字段));
create table tongxin (id int(10),name varchar(10),cardid varchar(18),phone varchar(11),address varchar(50),remark text,index index_cardid(cardid));

#插入點(diǎn)數(shù)據(jù),為普通索引查詢
insert into tongxin values(1,'cxz',13938592221,14892283,'江蘇南京','組長(zhǎng)');
insert into tongxin values(2,'shd',29410875347,89422959,'江蘇無(wú)錫','成員');
insert into tongxin values(3,'djs',14870235055,50964966,'江蘇徐州','成員');
insert into tongxin values(4,'fhy',2950435883,98503856,'浙江杭州','組長(zhǎng)');
insert into tongxin values(5,'tss',22857035003,285973503,'浙江寧波','成員');
insert into tongxin values(6,'xhd',24289592847,284973503,'浙江紹興','成員');

注:

  • 性能影響:雖然索引可以顯著提高查詢速度,但它們也會(huì)占用額外的磁盤(pán)空間,并可能降低插入、刪除和更新數(shù)據(jù)的速度,因?yàn)閿?shù)據(jù)庫(kù)需要同時(shí)更新索引
  • 選擇索引列:選擇哪些列作為索引應(yīng)該基于查詢的需要。頻繁作為查詢條件的列或經(jīng)常出現(xiàn)在join、whereorder by等子句中的列是創(chuàng)建索引的好候選
  • 索引管理:隨著時(shí)間的推移,表結(jié)構(gòu)和查詢模式可能會(huì)變化,因此定期審查和調(diào)整索引是很重要的,以確保數(shù)據(jù)庫(kù)的性能最優(yōu)化

2.2 創(chuàng)建唯一索引

唯一索引(Unique Index)在MySQL數(shù)據(jù)庫(kù)中是一種確保數(shù)據(jù)列中每個(gè)值都是唯一的索引。通過(guò)創(chuàng)建唯一索引,你可以保證某一列或列組合中的數(shù)據(jù)值不會(huì)重復(fù),這對(duì)于維護(hù)數(shù)據(jù)的完整性非常重要,如防止同一個(gè)電子郵件地址被注冊(cè)多次

  • 與普通索引類似,但區(qū)別是唯一索引列的每個(gè)值都唯一
  • 唯一索引允許有空值(注意和主鍵不同)
  • 如果是用組合索引創(chuàng)建,則列值的組合必須唯一
  • 添加唯一鍵將自動(dòng)創(chuàng)建唯一索引

方法一:直接創(chuàng)建唯一索引

create unique index 索引名 on 表名(列名);
create unique index index_name on tongxin (name);

方法二:修改表結(jié)構(gòu)方式添加唯一索引

alter table 表名 add unique 索引名 (列名);
alter table tongxin add unique index_phone (phone);

方法三:創(chuàng)建表時(shí)添加唯一索引

create table 表名 (字段1 數(shù)據(jù)類型,字段2 數(shù)據(jù)類型,...,unique 索引名 (列名));
create table jisj (id int(3) not null,name varchar(10),cardid char(15),unique index_cardid (cardid));
#插入點(diǎn)數(shù)據(jù),方便索引查詢
insert into jisj values(1,'cxz',29857012035);
insert into jisj values(2,'xsf',29857012035);
insert into jisj values(2,'xsf',32894385901);
insert into jisj values(3,'sdh',29496291384);

方法四:創(chuàng)建表時(shí)添加唯一鍵,會(huì)自動(dòng)創(chuàng)建唯一索引

create table wulian (id int(3) not null,name varchar(10) unique key,cardid char(15));
#unique key:表此字段唯一鍵約束,此字段數(shù)據(jù)不可重復(fù),一個(gè)表中可有多個(gè)唯一鍵

#插入點(diǎn)數(shù)據(jù),方便唯一索引查詢
insert into wulian values(1,'cxz',29857012035);
insert into wulian values(2,'xsf',32894385901);
insert into wulian values(3,'sdh',29496291384);

注:

  • 空值處理:唯一索引允許列中存在空值(NULL),但是如果索引是多列的,每列的組合必須是唯一的。對(duì)于唯一索引,MySQL視多個(gè)NULL值為不同的值,因此允許多個(gè)NULL值存在于唯一索引列中
  • 性能影響:雖然唯一索引可以提高查詢性能并保證數(shù)據(jù)的唯一性,但它也可能增加插入和更新操作的開(kāi)銷,因?yàn)槊看芜@些操作發(fā)生時(shí),MySQL都需要檢查唯一性約束
  • 使用場(chǎng)景:唯一索引非常適合用于需要強(qiáng)制數(shù)據(jù)唯一性的場(chǎng)景,如用戶注冊(cè)郵箱、身份證號(hào)碼等

2.3 創(chuàng)建主鍵索引

主鍵索引是一種特殊的唯一索引,不僅確保索引列的數(shù)據(jù)唯一性,還能標(biāo)識(shí)表中的每一行數(shù)據(jù),必須指定為“primary key”。主鍵的特點(diǎn)包括:

  • 每個(gè)表只能有一個(gè)主鍵
  • 主鍵列不能有NULL值
  • 主鍵自動(dòng)創(chuàng)建唯一索引,確保列值的唯一性

方法一:創(chuàng)建表時(shí)指定主鍵索引

create table 表名 (字段1 數(shù)據(jù)類型,字段2 數(shù)據(jù)類型,...,primary key (列名));
create table class (id int(3) not null,name varchar(10) not null,cardid char(11) not null,primary key(id));

#插入數(shù)據(jù),方便使用主鍵索引查詢
insert into class values(1,'sjg',9432005023);
insert into class values(2,'sfh',2389420509);
insert into class values(2,'dkg',49848658802);
insert into class values(3,'jkd',32840437588);

方法二:修改表結(jié)構(gòu)方式添加主鍵索引

alter table 表名 add primary key (列名); 
alter table class add primary key (cardid);
alter table wulian add primary key (id);

注:

  • 如果表中已經(jīng)有數(shù)據(jù),給列添加主鍵前需要確保該列的所有值都是唯一的,且沒(méi)有NULL值。
  • 考慮到性能和存儲(chǔ)效率,主鍵通常設(shè)置為整型或UUID。
  • 主鍵的選擇對(duì)數(shù)據(jù)庫(kù)性能有重要影響,應(yīng)謹(jǐn)慎選擇能唯一標(biāo)識(shí)每行數(shù)據(jù)的列作為主鍵。

2.4 創(chuàng)建組合索引

組合索引(也稱為復(fù)合索引或多列索引)是指基于表中兩個(gè)或多個(gè)列創(chuàng)建的索引。組合索引可以提高查詢性能,特別是在查詢條件涉及多個(gè)列時(shí)。它按照索引中列的順序存儲(chǔ)數(shù)據(jù),這使得數(shù)據(jù)庫(kù)能夠高效地利用索引來(lái)加速查詢和排序操作

需要滿足最左原則,因?yàn)閟elect語(yǔ)句的 where條件是依次從左往右執(zhí)行的,所以在使用select 語(yǔ)句查詢時(shí)where條件使用的字段順序必須和組合索引中的排序一致,否則索引將不會(huì)生效

方法一:創(chuàng)建表時(shí)指定組合索引

create table 表名 (列名1 數(shù)據(jù)類型,列名2 數(shù)據(jù)類型,列名3 數(shù)據(jù)類型,……,index 索引名 (列名1,列名2,列名3,……));
create table bak (id int(10),name varchar(10),cardid varchar(18),phone varchar(11),address varchar(50),remark text,index index_bak(name,cardid,address));

#插入點(diǎn)數(shù)據(jù),為組合索引查詢
insert into bak values(1,'cxz',13938592221,14892283,'江蘇南京','組長(zhǎng)');
insert into bak values(2,'shd',29410875347,89422959,'江蘇無(wú)錫','成員');
insert into bak values(3,'djs',14870235055,50964966,'江蘇徐州','成員');

方法二:修改表結(jié)構(gòu)方式添加組合索引

alter table 表名 add index 索引名 (字段1,字段2,字段3,……);
alter table wulian add index index_wulian (id,name);

注:

  • 索引順序:在定義組合索引時(shí),列的順序非常重要。應(yīng)根據(jù)查詢中最常用的列來(lái)安排索引中的列順序
  • 性能影響:雖然索引可以提高查詢性能,但過(guò)多的索引會(huì)增加插入、更新和刪除操作的開(kāi)銷,因?yàn)閿?shù)據(jù)庫(kù)需要維護(hù)這些索引。因此,應(yīng)根據(jù)實(shí)際需要?jiǎng)?chuàng)建索引
  • 前導(dǎo)列優(yōu)化:盡可能利用索引的前導(dǎo)列進(jìn)行查詢,以充分利用組合索引的優(yōu)勢(shì)

2.5 創(chuàng)建全文索引

全文索引通過(guò)創(chuàng)建文本數(shù)據(jù)的索引來(lái)加速對(duì)文本的搜索查詢,它會(huì)分析文本列中的內(nèi)容,將文本分解成詞元(tokens)或關(guān)鍵詞,并建立一個(gè)搜索關(guān)鍵詞的索引。這樣,當(dāng)進(jìn)行文本搜索時(shí),數(shù)據(jù)庫(kù)可以直接利用這個(gè)索引來(lái)快速定位包含特定關(guān)鍵詞的記錄,而不是逐行掃描整個(gè)表。

全文索引可以在 CHAR、VARCHAR 或者 TEXT 類型的列上創(chuàng)建。每個(gè)表只允許有一個(gè)全文索引?

方法一:直接創(chuàng)建全文索引

create fulltext index 索引名 on 表名 (列名);
create fulltext index index_address on tongxin (address);

select * from tongxin where address='浙江杭州';   #全文索引查詢關(guān)鍵字“浙江杭州”

方法二:修改表結(jié)構(gòu)方式添加全文索引

alter table 表名 add fulltext 索引名 (列名);
alter table bak add fulltext index_remark (remark);

 select * from bak where remark='組長(zhǎng)';   #使用全文索引搜索,其中關(guān)鍵字是“組長(zhǎng)”

方法三:創(chuàng)建表時(shí)指定全文索引

create table 表名 (字段1 數(shù)據(jù)類型,字段2 數(shù)據(jù)類型,……,fulltext 索引名 (列名)); 
create table zhizao (id int(10),name varchar(10),cardid varchar(18),phone varchar(11),address varchar(50),remark text,index,fulltext index_address (address));

#插入點(diǎn)數(shù)據(jù),為全文索引查詢
insert into zhizao values(1,'cxz',13938592221,14892283,'江蘇南京','組長(zhǎng)');
insert into zhizao values(2,'shd',29410875347,89422959,'江蘇無(wú)錫','成員');
insert into zhizao values(3,'djs',14870235055,50964966,'江蘇鹽城','成員');
select * from zhizao where address='江蘇南京';

注:

  • 存儲(chǔ)引擎限制:全文索引最初只支持MyISAM存儲(chǔ)引擎。從MySQL 5.6版本開(kāi)始,InnoDB存儲(chǔ)引擎也支持全文索引
  • 性能考慮:雖然全文索引可以顯著提高文本搜索的速度,但它也會(huì)占用額外的磁盤(pán)空間,并可能增加文本數(shù)據(jù)更新操作的開(kāi)銷
  • 查詢語(yǔ)法:使用全文索引時(shí),可以利用match() ... against()語(yǔ)法進(jìn)行搜索查詢,這允許執(zhí)行包含布爾文本搜索和自然語(yǔ)言搜索的復(fù)雜查詢

3、刪除索引

3.1 直接刪除索引

drop index 索引名 on 表名;
drop index index_address on zhizao;

3.2 修改表格式方式刪除索引

alter table 表名 drop index 索引名;
alter table bak drop index index_bak;
alter table bak drop index index_remark;

3.3 刪除主鍵索引

alter table 表名 drop primary key;
alter table class drop primary key;

三、總結(jié)

1、索引類型

索引名稱鍵標(biāo)識(shí)說(shuō)明一張表索引數(shù)量
普通索引key針對(duì)所有字段,沒(méi)有特殊的需求/規(guī)則可多個(gè)
唯一(鍵)索引unique key針對(duì)唯一性的字段,僅允許出現(xiàn)一次空值可多個(gè)
主鍵索引primary key針對(duì)唯一性字段、且不可為空,同時(shí)一張表只允許包含一個(gè)主鍵索引一個(gè)
組合索引key多列/多字段組合形式的索引可多個(gè)
全文索引fulltext key(varchar char text)全文搜索內(nèi)容可多個(gè)

2、索引創(chuàng)建的三大方法

①直接創(chuàng)建索引

索引名稱格式
普通索引create index 索引名 on 表名 (列名);
唯一(鍵)索引create unique index 索引名 on 表名(列名);
主鍵索引無(wú)
組合索引無(wú)
全文索引create fulltext index 索引名 on 表名 (列名);

②alter修改表結(jié)構(gòu)的時(shí)候,進(jìn)行add添加索引

索引名稱格式
普通索引alter table 表名 add index 索引名 (列名);
唯一(鍵)索引alter table 表名 add unique 索引名 (列名);
主鍵索引alter table 表名 add primary key (列名);?
組合索引alter table 表名 add index 索引名 (字段1,字段2,字段3,……);
全文索引alter table 表名 add fulltext 索引名 (列名);

③在創(chuàng)建表的時(shí)候,直接指定創(chuàng)建索引

索引名稱格式
普通索引create table 表名 (字段1 數(shù)據(jù)類型,字段2 數(shù)據(jù)類型,...,index 索引名 (字段));
唯一(鍵)索引create table 表名 (字段1 數(shù)據(jù)類型,字段2 數(shù)據(jù)類型,...,unique 索引名 (列名));
主鍵索引create table 表名 (字段1 數(shù)據(jù)類型,字段2 數(shù)據(jù)類型,...,primary key (列名));
組合索引create table 表名 (列名1 數(shù)據(jù)類型,列名2 數(shù)據(jù)類型,列名3 數(shù)據(jù)類型,……,index 索引名 (列名1,列名2,列名3,……));
全文索引create table 表名 (字段1 數(shù)據(jù)類型,字段2 數(shù)據(jù)類型,……,fulltext 索引名 (列名));?
http://www.risenshineclean.com/news/12097.html

相關(guān)文章:

  • 建站網(wǎng)站教程成品人和精品人的區(qū)別在哪
  • 正規(guī)網(wǎng)站建設(shè)建設(shè)公司做網(wǎng)站seo優(yōu)化
  • vscode 網(wǎng)站開(kāi)發(fā)專業(yè)網(wǎng)絡(luò)推廣公司
  • 做藥物研發(fā)的人上什么網(wǎng)站seo發(fā)外鏈的網(wǎng)站
  • 做百度移動(dòng)端網(wǎng)站軟件下載江門(mén)關(guān)鍵詞優(yōu)化公司
  • 網(wǎng)站服務(wù)器異常是什么意思云南seo網(wǎng)站關(guān)鍵詞優(yōu)化軟件
  • 組建網(wǎng)站 多少錢(qián)南京seo域名
  • 上海集團(tuán)網(wǎng)站建設(shè)公司如何做企業(yè)產(chǎn)品推廣
  • 哪個(gè)網(wǎng)站可以做頭像的免費(fèi)建站模板
  • 私服網(wǎng)站建設(shè)長(zhǎng)沙seo男團(tuán)
  • 鄭州網(wǎng)站建設(shè)首選創(chuàng)新網(wǎng)絡(luò)網(wǎng)站推廣優(yōu)化
  • 廣州建設(shè)網(wǎng)站的公司酒店網(wǎng)絡(luò)營(yíng)銷推廣方式
  • 河北省建設(shè)監(jiān)理協(xié)會(huì)網(wǎng)站外鏈平臺(tái)有哪些
  • 做網(wǎng)站送郵箱中文域名
  • 自己的網(wǎng)站做彈出廣告app推廣方式有哪些
  • 網(wǎng)站及網(wǎng)頁(yè)設(shè)計(jì)費(fèi)用市場(chǎng)營(yíng)銷策劃公司排名
  • 河南的網(wǎng)絡(luò)推廣公司專業(yè)黑帽seo推廣
  • 越秀區(qū)網(wǎng)站建設(shè)寧波seo搜索引擎優(yōu)化公司
  • 電商網(wǎng)站技術(shù)方案阿里指數(shù)官網(wǎng)最新版本
  • wordpress邊下邊看seo權(quán)重優(yōu)化軟件
  • 網(wǎng)站里面如何做下載的app全國(guó)31省市疫情最新消息今天
  • html電子商務(wù)網(wǎng)站模板百度信息流推廣教程
  • 網(wǎng)站做支付功能培訓(xùn)計(jì)劃和培訓(xùn)內(nèi)容
  • 用自己的電腦做網(wǎng)站需要備案嗎旅游最新資訊
  • 網(wǎng)站建設(shè)jutuibao線上推廣的渠道和方法
  • 媒體公司網(wǎng)站模板百度指數(shù)1000搜索量有多少
  • 怎么做網(wǎng)站像淘寶這樣的免費(fèi)發(fā)布產(chǎn)品信息的網(wǎng)站
  • 廣州的一起做網(wǎng)站網(wǎng)絡(luò)軟文廣告
  • 幫客戶做網(wǎng)站內(nèi)容網(wǎng)頁(yè)關(guān)鍵詞排名優(yōu)化
  • 免費(fèi)自助建站系統(tǒng)平臺(tái) 貼吧網(wǎng)站分析工具