日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

MySql 存儲引擎和索引相關知識總結

瀏覽:208日期:2023-10-14 14:06:32

存儲引擎

什么是數據庫存儲引擎?

數據庫引擎是數據庫底層軟件組件,不同的存儲引擎提供不同的存儲機制,索引技巧,鎖定水平等功能,使用不同的數據庫引擎,可以獲得特定的功能

如何查看引擎?

--如何查看數據庫支持的引擎show engines;​--查看當前數據的引擎:show create table 表名G​--查看當前庫所有表的引擎:show table statusG

建表時指定引擎

create table yingqin (id int,name varchar(20)) engine=’InnoDB’;

修改表的引擎

alter table 表名 engine=’引擎名稱’;

修改默認引擎

vi /etc/my.cnf (配置文件地址根據安裝情況) [mysqld]下面 default-storage-engine=MyIsAM 記得保存后重啟服務

MyISAM 與 InnoDB 的區別

MyISAM:支持全文索引(full text);不支持事務;表級鎖;保存表的具體行數;奔潰恢復不好。

Innodb:支持事務;以前的版本是不支持全文索引,但在5.6之后的版本就開始支持這個功能了;行級鎖(并非絕對,當執行sql語句時不能確定范圍時,也會進行鎖全表,例如: update table set id=3 where name like ’a%’;);不保存表的具體行數;奔潰恢復好。

什么時候選擇什么引擎比較好

MyISAM:

不需要用到事務的時候 做很多 count 計算

InnoDB:

可靠性要求高的,或者要求支持事務 想要用到外鍵約束的時候(MyISAM建立的外鍵是無效的)​

推薦用 InnoDB

索引

什么是索引?

索引是一個單獨的,存儲在磁盤中上的數據庫結構,它們包含著對數據表里的所有記錄的引用指針。使用索引可以快速的找出在某列或多列中有特定值的行。

索引的優點:

通過創建唯一索引,來保證數據庫表中的每一行數據的唯一性。 可以加快數據的檢索速度。 可以保證表數據的完整性與準確性

索引的缺點:

索引需要占用物理空間。 對表中的數據進行改動時,索引也需要跟著動態維護,降低了數據的維護速度。

索引的常見類型:

index:普通索引 unique:唯一索引 primary key:主鍵索引 foreign key:外鍵索引 fulltext: 全文索引 組合索引

普通索引與唯一索引

什么是普通索引?

普通索引(index)顧名思義就是各類索引中最為普通的索引,主要任務就是提高查詢速度。其特點是允許出現相同的索引內容,允許空(null)值

什么是唯一索引?

唯一索引:(unique)顧名思義就是不可以出現相同的索引內容,但是可以為空(null)值

如何創建普通索引或者唯一索引?

--創建表的時候創建create table test ( id int(7) zerofill auto_increment not null, username varchar(20), servnumber varchar(30), password varchar(20), createtime datetime, unique (id))DEFAULT CHARSET=utf8;--直接為表添加索引--語法:alter table 表名 add index 索引名稱 (字段名稱);--注意:假如沒有指定索引名稱時,會以默認的字段名為索引名稱alter table test add unique unique_username (username);​--直接創建索引--語法:create index 索引 on 表名 (字段名);create index index_createtime on test (createtime);

查看索引

--語法:show index from 表名Gshow index from testG

如何刪除索引

--語法:drop index 索引名稱 on 表名;drop index unique_username on test;--語法:alter table 表名 drop index 索引名;alter table test drop index createtime;

主鍵索引

什么是主鍵索引?

把主鍵添加索引就是主鍵索引,它是一種特殊的唯一索引,不允許有空值,而唯一索引(unique是允許為空值的)。指定為“PRIMARY KEY”

主鍵:主鍵是表的某一列,這一列的值是用來標志表中的每一行數據的。注意:每一張表只能擁有一個主鍵

創建主鍵:

--1)創建表的時候創建--2)直接為表添加主鍵索引--語法:alter table 表名 add primary key (字段名);alter table test add primary key (id);

刪除主鍵:

--語法:alter table 表名 drop primary key;alter table test drop primary key;

注意:在有自增的情況下,必須先刪除自增,才可以刪除主鍵

​--刪除自增:alter table test change id id int(7) unsigned zerofill not null;

全文索引

什么是全文索引?

全文索引是將存儲在數據庫中的文章或者句子等任意內容信息查找出來的索引,單位是詞。全文索引也是目前搜索引擎使用的一種關鍵技術。指定為 fulltext

--創建練習表的sql:create table command ( id int(5) unsigned primary key auto_increment, name varchar(10), instruction varchar(60))engine=MyISAM;--插入數據sql:insert into command values(’1’,’ls’,’list directory contents’);insert into command values(’2’,’wc’,’print newline, word, and byte counts for each file’);insert into command values(’3’,’cut’,’remove sections from each line of files’);insert into command values(’4’,’sort’,’sort lines of text files’);insert into command values(’5’,’find’,’search for files in a directory hierarchy’);insert into command values(’6’,’cp’,’復制文件或者文件夾’);insert into command values(’7’,’top’,’display Linux processes’);insert into command values(’8’,’mv’,’修改文件名,移動’);insert into command values(’9’,’停止詞’,’is,not,me,yes,no ...’);

添加全文索引:

--1)創建表的時候創建全文索引--2)通過alter添加alter table command add fulltext(instruction);

使用全文索引:

--語法:select * from 表名 where match (字段名) against (’檢索內容’);select * from command where match(instruction) against (’sections’);

查看匹配度:

select * from command where match(instruction) against (’directory’);

停止詞:

出現頻率很高的詞,將會使全文索引失效。

in boolean mode 模式:

in boolean mode:意思是指定全文檢索模式為布爾全文檢索(簡單可以理解為是檢索方式)

--語法:select * from 表名 where match (字段名) against (’檢索內容’ in boolean mode);select * from command where match(instruction) against (’direct*’ in boolean mode);

注意點:使用通配符*時,只能放在詞的后邊,不能放前邊。

刪除全文索引:

alter table command drop index instruction;

注意點總結:

一般情況下創建全文索引的字段數據類型為 char、varchar、text 。其它字段類型不可以 全文索引不針對非常頻繁的詞做索引。比如 is,no,not,you,me,yes 這些,我們稱之為停止詞 對英文檢索時忽略大小寫

外鍵約束

什么是外鍵?

外鍵就是作用于兩個表數據之間的鏈接的一列或多列,用來保證表與表之間的數據的完整性和準確性。

添加外鍵約束:

--語法:foreign key (字段名) references 關聯的表名(關聯表的字段名)--​注意:主鍵跟外鍵的字段類型一定要相同--create table 的方法:CREATE TABLE `employee` ( `empno` int(11) NOT NULL COMMENT ’雇員編號’, `ename` varchar(50) DEFAULT NULL COMMENT ’雇員姓名’, `job` varchar(30) DEFAULT NULL, `mgr` int(11) DEFAULT NULL COMMENT ’雇員上級編號’, `hiredate` date DEFAULT NULL COMMENT ’雇傭日期’, `sal` decimal(7,2) DEFAULT NULL COMMENT ’薪資’, `deptnu` int(11) DEFAULT NULL COMMENT ’部門編號’, PRIMARY KEY (`empno`), foreign key (deptnu) references dept(deptnu)) ENGINE=InnoDB DEFAULT CHARSET=utf8;--alter table的方法:alter table employee add foreign key (deptnu) references dept(deptnu);

刪除外鍵約束:

注意:在干掉外鍵索引之前必須先把外鍵約束刪除,才能刪除索引

mysql> alter table employee drop index deptnu;ERROR 1553 (HY000): Cannot drop index ’deptnu’: needed in a foreign key constraintmysql> mysql> alter table employee drop foreign key employee_ibfk_1;Query OK, 0 rows affected (0.01 sec)Records: 0 Duplicates: 0 Warnings: 0mysql> mysql> alter table employee drop index deptnu;Query OK, 0 rows affected (0.01 sec)Records: 0 Duplicates: 0 Warnings: 0

注意點總結:

倆個表,主鍵跟外鍵的字段類型一定要相同 要使用外鍵約束表的引擎一定得是 InnoDB 引擎,MyISAM 是不起作用的 在干掉外鍵索引之前必須先把外鍵約束刪除,才能刪除索引

聯合索引

什么是聯合索引?

聯合索引又稱組合索引或者復合索引,是建立在倆列或者多列以上的索引。

創建聯合索引

--語法:alter table 表名 add index(字段1,字段2,字段3);alter table test add index(username,servnumber,password);

刪除聯合索引

--語法:alter table test drop index 索引名;alter table test drop index username;

為什么要使用聯合索引,而不使用多個單列索引?

聯合索引的效率遠遠高于單列索引。假如創建了三個單列索引,并且查詢條件中也存在這三列,但是 MySQL 只會選擇最優的列索引,而不會三個索引都用上

聯合索引的最左原則

以上面的索引為例,查詢條件中必須有 username,才會去使用這個索引,否則不會去使用該索引

注意點總結:

索引并非越多越好,過多的索引會增加數據的維護速度還有磁盤空間的浪費。 當表的數據量很大的時候,可以考慮建立索引。 表中經常查數據的字段,可以考慮建立索引。 想要保證表中數據的唯一性,可以考慮建立唯一索引。 想要保證倆張表中的數據的完整性跟準確性,可以考慮建立外鍵約束。 經常對多列數據進行查詢時,可以考慮建立聯合索引。

以上就是MySql 存儲引擎和索引相關知識總結的詳細內容,更多關于MySql 存儲引擎和索引的資料請關注好吧啦網其它相關文章!

標簽: MySQL 數據庫
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
99国产精品私拍| 国产精品一区二区精品视频观看 | 在线精品福利| 久久九九99| 成人久久一区| 成人午夜国产| 日韩亚洲一区在线| 伊人久久在线| 亚洲成人va| 久久影院一区| 欧美a级一区| 欧美二区视频| 在线亚洲国产精品网站| 亚洲少妇一区| 免费欧美日韩| 免费观看日韩电影| 中文一区一区三区免费在线观 | 亚洲涩涩av| 爽好久久久欧美精品| 国产偷自视频区视频一区二区| 欧美女激情福利| 亚洲一区日韩| 91精品国产一区二区在线观看| 国产日产精品_国产精品毛片 | 亚洲综合日本| 日韩一区精品视频| 亚洲免费影院| 日韩中文字幕一区二区高清99| 日本va欧美va欧美va精品| 国产精品v亚洲精品v日韩精品| 成人精品高清在线视频| 日韩中文在线播放| 欧美日韩国产欧| 91成人精品观看| 97精品久久| 国产一区二区三区黄网站| 亚洲不卡av不卡一区二区| 午夜影院一区| av亚洲免费| 亚洲精品视频一二三区| 日韩成人午夜精品| 精品久久福利| 亚洲精品成人| 日本中文字幕视频一区| 国产精品草草| 日韩三区在线| 久久亚洲影院| 欧美精品导航| 成人羞羞视频播放网站| 久久亚洲国产| 日韩精彩视频在线观看| 都市激情国产精品| 久久亚洲一区| 精品理论电影在线| 合欧美一区二区三区| 国产伦精品一区二区三区千人斩| 亚洲天堂av影院| 亚洲另类视频| 91综合视频| 久久av一区二区三区| 久久精品三级| 最新亚洲国产| 欧美日韩免费看片| 日韩国产一二三区| 美女福利一区二区三区| 亚洲精品人人| 激情久久婷婷| 精品一区二区三区亚洲| 免费在线视频一区| 亚洲免费福利| 日韩av影院| 伊人久久高清| 国产精品草草| 欧美专区一区二区三区| 综合日韩av| 日韩中文字幕视频网| 亚洲不卡av不卡一区二区| 国产精品一区二区免费福利视频 | 日韩三区免费| 免费成人在线观看| 国产一区国产二区国产三区| 欧美综合二区| 国产不卡一区| 日韩精品亚洲专区| 久久青草久久| 日韩不卡一区二区| 亚洲精品.com| 久久一区欧美| 日本不卡中文字幕| 在线一区免费观看| 神马久久午夜| 欧美激情在线精品一区二区三区| 国产一区二区三区四区大秀| 国产亚洲在线观看| 日韩一区网站| 蜜桃视频欧美| 男女精品网站| 91精品国产自产在线丝袜啪| 91看片一区| 青青草国产成人99久久| 99国产成+人+综合+亚洲欧美| 国产一区二区三区四区二区| 蜜臀av国产精品久久久久| 日韩一区电影| 欧美aⅴ一区二区三区视频| 亚洲专区视频| 欧美中文字幕| 久久中文字幕av| 日韩综合精品| 国产99在线| 国产精品麻豆成人av电影艾秋| 国产亚洲福利| 麻豆视频在线观看免费网站黄| 国产精品久久| 午夜天堂精品久久久久| 日韩一区三区| 久久激情五月婷婷| 亚洲区欧美区| 亚洲综合三区| 亚洲午夜视频| 欧美福利一区| | 日韩中文字幕亚洲一区二区va在线 | 三级精品视频| 久久精品日韩欧美| 国内精品亚洲| av高清不卡| 国产福利亚洲| 久久av网站| 风间由美中文字幕在线看视频国产欧美| 久久精品一区二区国产| 精品一区av| 精品国产麻豆| yellow在线观看网址| 国产在线|日韩| 黄色日韩在线| 欧美在线综合| 视频一区日韩精品| 青青草视频一区| 国产精品午夜一区二区三区| 国产麻豆一区二区三区| 久久不见久久见免费视频7| 欧美激情亚洲| 成人片免费看| 婷婷激情久久| 亚洲永久字幕| 日本在线成人| 久久激情av| 激情久久一区二区| 欧美亚洲激情| 亚洲免费一区三区| 国产精品黄色| 亚洲成av在线| 久久亚洲视频| 国产精品欧美一区二区三区不卡| 国模精品一区| 婷婷综合社区| 色狠狠一区二区三区| 911亚洲精品| 国产一区二区三区亚洲综合| 欧美日韩中文字幕一区二区三区| 久久成人国产| 日韩av网站在线免费观看| 国产激情精品一区二区三区| 午夜影院一区| 丝袜诱惑制服诱惑色一区在线观看| 少妇高潮一区二区三区99| 国产精品15p| 日本精品影院| 中文字幕一区二区三区四区久久 | 日本欧美国产| 亚洲自拍另类| 久久不见久久见中文字幕免费| 97精品国产一区二区三区| 欧美日韩三区| 国产精品一区二区三区四区在线观看| 国产视频一区二区在线播放| 久久久久久自在自线| 在线精品小视频| 日韩一区二区三区高清在线观看| 国产极品一区| 日韩精品影视| 蜜臀a∨国产成人精品| 牛牛精品成人免费视频| 日韩毛片视频| 日韩久久99| 欧美freesex黑人又粗又大| 日韩在线a电影| 精品视频自拍| 99在线观看免费视频精品观看| 国产乱子精品一区二区在线观看 | 91精品国产自产观看在线| 免播放器亚洲| 欧美一区激情| 亚洲一级特黄| 国产精品综合| 久久国产高清| 国产盗摄——sm在线视频| 亚洲精品综合| 国产字幕视频一区二区|