国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MySQL筆記之索引的使用

2024-07-24 12:40:47
字體:
來源:轉載
供稿:網友
索引是創建在表上的,對數據庫表中一列或多列的值進行排序的一種結構   其作用主要在于提高查詢的速度,降低數據庫系統的性能開銷   通過索引,查詢數據不必讀完記錄的全部信息進行匹配,而是只查詢索引列   索引相當于字典中的音序表,要查詢某字時可以在音序表中找到   然后直接跳轉到那一音序所在位置,而不必從字典第一頁開始翻,逐字匹配   tips:索引雖能提高查詢速度,但在插入記錄時會按照索引進行排序,因此降低了插入速度       最好的操作方式是先刪除索引,插入大量記錄后再創建索引     索引分類   1.普通索引:不附加任何限制條件,可創建在任何數據類型中   2.唯一性索引:使用unique參數可以設置索引為唯一性索引,在創建索引時,限制該索引的值必須唯一,主鍵就是一種唯一性索引   3.全文索引:使用fulltext參數可以設置索引為全文索引。全文索引只能創建在char、varchar或text類型的字段上。查詢數據量較大的字符串類型字段時,效果明顯。但只有MyISAM存儲引擎支持全文檢索   4.單列索引:在表中單個字段上創建的索引,單列索引可以是任何類型,只要保證索引只對應一個一個字段   5.多列索引:在表中多個字段上創建的索引,該索引指向創建時對應的多個字段   6.空間索引:使用spatial參數可以設置索引為空間索引,空間索引只能建立在空間數據類型上比如geometry,并且不能為空,目前只有MyISAM存儲引擎支持     在創建表時創建索引 創建普通索引   復制代碼 代碼如下:     mysql> create table index1( -> id int, -> name varchar(20), -> sex boolean, -> index(id) -> ); Query OK, 0 rows affected (0.11 sec)     此處在id字段上創建索引,show create table可查看   創建唯一性索引   復制代碼 代碼如下:     mysql> create table index2( -> id int unique, -> name varchar(20), -> unique index index2_id(id ASC) -> ); Query OK, 0 rows affected (0.12 sec)     此處使用id字段創建了一個名為index2_id的索引 這里的id字段可以不設置唯一性約束,但這樣一來索引就沒有作用     創建全文索引   復制代碼 代碼如下:     mysql> create table index3( -> id int, -> info varchar(20), -> fulltext index index3_info(info) -> )engine=MyISAM; Query OK, 0 rows affected (0.07 sec)     要注意創建全文索引時只能使用MyISAM存儲引擎   創建單列索引   復制代碼 代碼如下:     mysql> create table index4( -> id int, -> subject varchar(30), -> index index4_st(subject(10)) -> ); Query OK, 0 rows affected (0.12 sec)     此處subject字段長度是30,而索引長度則是10 這么做的目的在于提高查詢速度,對于字符型的數據不用查詢全部信息     創建多列索引   復制代碼 代碼如下:     mysql> create table index5( -> id int, -> name varchar(20), -> sex char(4), -> index index5_ns(name,sex) -> ); Query OK, 0 rows affected (0.10 sec)     可以看出,這里使用了name字段和sex字段創建索引列   創建空間索引   復制代碼 代碼如下:     mysql> create table index6( -> id int, -> space geometry not null, -> spatial index index6_sp(space) -> )engine=MyISAM; Query OK, 0 rows affected (0.07 sec)     這里需要注意空間space字段不能為空,還有存儲引擎   在已經存在的表上創建索引 創建普通索引   復制代碼 代碼如下:     mysql> create index index7_id on example0(id); Query OK, 0 rows affected (0.07 sec) Records: 0 Duplicates: 0 Warnings: 0     這里在現有表的id字段上創建了一條名為index7_id的索引   創建唯一性索引   復制代碼 代碼如下:     mysql> create unique index index8_id on example1(course_id); Query OK, 0 rows affected (0.16 sec) Records: 0 Duplicates: 0 Warnings: 0     此處只需要在index關鍵字前面加上unique即可 至于表中的course_id字段,最要也設置唯一性約束條件     創建全文索引   復制代碼 代碼如下:     mysql> create fulltext index index9_info on example2(info); Query OK, 0 rows affected (0.07 sec) Records: 0 Duplicates: 0 Warnings: 0     fulltext關鍵字用來設置全文引擎,此處的表必須是MyISAM存儲引擎
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 昆明市| 景宁| 迁安市| 赤水市| 武城县| 霍邱县| 内丘县| 崇仁县| 浑源县| 措美县| 玉山县| 北流市| 万州区| 湖北省| 华蓥市| 饶平县| 宁都县| 疏附县| 策勒县| 石渠县| 丹江口市| 云和县| 清徐县| 鹤峰县| 襄汾县| 洞口县| 楚雄市| 太谷县| 安化县| 炉霍县| 永福县| 临桂县| 楚雄市| 西华县| 西贡区| 洪江市| 庄河市| 博兴县| 金阳县| 祁东县| 德州市|