欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > MySql 存儲引擎和索引相關知識總結

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

熱門標簽:怎么更改高德地圖標注 上海市三維地圖標注 電話機器人是電腦呼號嗎 400電話到哪辦理優惠 博樂電銷機器人 機器人打電銷電話 云南大數據外呼系統 南寧外呼系統招商 鄭州網絡外呼系統價錢

存儲引擎

什么是數據庫存儲引擎?

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

如何查看引擎?

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

建表時指定引擎

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

修改表的引擎

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

修改默認引擎

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

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 表名\G
show index from test\G

如何刪除索引

--語法: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;

注意點總結:

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

外鍵約束

什么是外鍵?

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

添加外鍵約束:

--語法: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 constraint
mysql> 
mysql> alter table employee drop foreign key employee_ibfk_1;
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql> 
mysql> alter table employee drop index deptnu;
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0

注意點總結:

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

聯合索引

什么是聯合索引?

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

創建聯合索引

--語法: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 InnoDB存儲引擎的內存管理
  • 關于MySQL Memory存儲引擎的相關知識
  • 詳解mysql中的存儲引擎
  • 簡述MySQL InnoDB存儲引擎
  • MySQL MyISAM默認存儲引擎實現原理
  • MySQL 學習總結 之 初步了解 InnoDB 存儲引擎的架構設計
  • 淺談MySQL中四種常用存儲引擎
  • MySQL高級學習筆記(三):Mysql邏輯架構介紹、mysql存儲引擎詳解
  • MySQL存儲引擎InnoDB的配置與使用的講解
  • MySQL存儲引擎MyISAM與InnoDB區別總結整理
  • MySQL 常見存儲引擎的優劣

標簽:澳門 益陽 白銀 恩施 杭州 定西 秦皇島 寧夏

巨人網絡通訊聲明:本文標題《MySql 存儲引擎和索引相關知識總結》,本文關鍵詞  MySql,存儲,引擎,和,索引,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MySql 存儲引擎和索引相關知識總結》相關的同類信息!
  • 本頁收集關于MySql 存儲引擎和索引相關知識總結的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    久久精品一区二区三区不卡牛牛| 99精品桃花视频在线观看| 成人网在线免费视频| 国模私拍在线观看| 粉嫩av性色av蜜臀av网站| 91精品国产色综合久久久蜜香臀| 欧美国产日本韩| 日韩av午夜在线观看| av电影天堂一区二区在线观看| 日韩毛片无码永久免费看| 欧美视频一二三区| 国产精品乱码一区二三区小蝌蚪| 免费久久精品视频| 中文字幕人妻熟女在线| 国产女片a归国片aa| 国产亚洲精品福利| 国产精品99久久久久| 88久久精品无码一区二区毛片| 欧美日韩国产经典色站一区二区三区| 日本一区二区电影| 成人午夜激情影院| 91成人免费在线视频| 中文字幕亚洲欧美在线不卡| 国产一区在线精品| 高潮毛片无遮挡| 国产人久久人人人人爽| 久久99久久精品欧美| 久久亚洲AV成人无码国产野外| 欧美日韩免费电影| 亚洲在线中文字幕| 精品国产午夜福利在线观看| 色婷婷久久久亚洲一区二区三区| 欧美经典一区二区| av电影在线观看不卡| 欧美日韩一二区| 蜜桃久久久久久| 欧美黑人欧美精品刺激| 久久免费美女视频| 韩国一区二区在线观看| 国产真人做爰视频免费| 国产精品福利av| www.在线欧美| 极品盗摄国产盗摄合集| 亚洲自拍与偷拍| 爱爱免费小视频| 国产精品毛片久久久久久| 99久久综合网| 26uuu欧美| 精品午夜一区二区三区在线观看 | 日韩欧美精品在线视频| 天堂久久一区二区三区| 国产成人精品无码片区在线| 久久综合成人精品亚洲另类欧美| 黄页视频在线91| 在线免费观看日韩欧美| 亚洲老司机在线| 国产精品一区二区不卡| 欧美综合一区二区三区| 免费观看30秒视频久久| 国产精品视频一区二区三 | 色诱亚洲精品久久久久久| 亚洲1区2区3区视频| 黄色性生活一级片| 精品99久久久久久| 91一区一区三区| 久久综合色综合88| 无码国产精品一区二区高潮| 欧美精品一区二区蜜臀亚洲| 中文字幕avav| 国产日韩精品一区二区浪潮av| 三大队在线观看| 日韩区在线观看| 国产一区二区三区在线观看免费视频| 在线亚洲一区二区| 国产一区二区中文字幕| 777午夜精品视频在线播放| 美国一区二区三区在线播放| 日本精品免费观看高清观看| 精品一区二区三区免费| 欧美人牲a欧美精品| 国产69精品久久777的优势| 欧美在线999| 国产福利一区在线观看| 欧美视频一区在线| 国产成人免费在线视频| 欧美xxxx老人做受| 成人精品国产免费网站| 精品国产一区二区三区四区四| 成年人性生活视频| 国产精品第13页| 一级二级黄色片| 亚洲综合在线观看视频| 亚洲一级中文字幕| 亚洲国产精品欧美一二99| 免费看黄色的视频| 亚洲丝袜自拍清纯另类| 亚洲一区二区三区四区五区六区| 亚洲桃色在线一区| 在线日韩国产网站| 婷婷六月综合网| 欧美日韩在线直播| av在线播放成人| 国产精品色哟哟| 男人天堂资源网| 午夜欧美电影在线观看| 91成人免费电影| 99国产精品99久久久久久| 国产精品久久网站| 久久噜噜色综合一区二区| 免费成人在线网站| 日韩欧美综合在线| 极品白嫩丰满美女无套| 亚洲成人手机在线| 欧美日韩精品一区二区三区四区| 99re这里都是精品| 亚洲区小说区图片区qvod| 欧美日韩黄色网| 日韩精彩视频在线观看| 色狠狠一区二区三区香蕉| 国产福利91精品一区| 国产亚洲精品aa| www.涩涩爱| 国产精品一区二区三区乱码| 国产日韩欧美一区二区三区综合| 国产综合精品久久久久成人av| 午夜精品福利一区二区三区av| 欧美三级日韩三级| 国产乱淫av麻豆国产免费| 亚洲线精品一区二区三区八戒| 欧美日韩免费一区二区三区| 中文在线字幕观看| 亚洲不卡一区二区三区| 91精品国产美女浴室洗澡无遮挡| 不卡影院免费观看| 亚洲日本在线a| 欧美优质美女网站| 91porn在线| 日韩和欧美一区二区三区| 欧美一区2区视频在线观看| 国产成人无码一区二区在线观看| 日本色综合中文字幕| 精品乱人伦小说| 香蕉久久久久久久| 成人午夜视频福利| 亚洲精品国产一区二区精华液 | 久久成人免费日本黄色| 久久久久久99精品| 午夜剧场免费在线观看| 97久久精品人人做人人爽| 亚洲精选免费视频| 欧美精品日韩精品| 日韩精品电影一区二区| 国产成a人亚洲精| 一区二区三区在线观看欧美| 91精品国产黑色紧身裤美女| 日本二区在线观看| 粉嫩久久99精品久久久久久夜| 亚洲男同性视频| 欧美一个色资源| 麻豆一区在线观看| 91丝袜高跟美女视频| 亚洲精品第一国产综合野| 制服.丝袜.亚洲.另类.中文| 我不卡一区二区| 97久久人人超碰| 麻豆91免费观看| 综合久久国产九一剧情麻豆| 欧美乱妇20p| 色欲AV无码精品一区二区久久 | 亚洲一区二区三区四区中文字幕| 日韩欧美中文字幕制服| 波多野结衣一二三四区| 99re这里只有精品6| 五月婷婷激情综合网| 国产欧美一区二区三区鸳鸯浴 | 国产又粗又猛又色| 日韩高清在线不卡| 欧美国产丝袜视频| 欧美伦理电影网| 四虎国产精品成人免费入口| 高清成人免费视频| 日韩国产精品久久| 国产精品传媒入口麻豆| 91精品国产综合久久精品图片| 蜜桃av.com| 老熟妇精品一区二区三区| 国产aⅴ精品一区二区三区色成熟| 亚洲一二三四久久| 久久久久国产免费免费| 欧美午夜精品久久久| av网站免费在线播放| 99久久伊人精品| 精品一区二区久久久| 一区二区三区国产豹纹内裤在线 | 精品欧美一区二区在线观看| 一本色道综合亚洲| 国产成人免费观看网站| 黄色国产在线视频| 久久精品国产精品亚洲精品| 一区二区三区在线观看视频|