91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Mysql ------ 索引+ 事務

發布時間:2020-04-18 13:35:04 來源:網絡 閱讀:193 作者:wx5d8a05337d6b9 欄目:云計算

文章目錄

一、索引:

(1)數據庫索引:

(2)索引的作用:

(3)索引分類:

(4)創建索引的原則依據:

(5)創建索引的辦法:

二、事務:

(1)事務概念:

(2)事務的四大特性:

(3)事務的操作:

三、兩表相連查詢:

一、索引:

(1)數據庫索引:

1、在數據庫中,索引使數據程序無須對整個表進行掃描,就可以在其中找到所需數據;
2、數據庫中的索引是某個表中一列或者若干列值的集合,以及物理標識這些值的數據頁的邏輯指針清單。

(2)索引的作用:

1、數據庫能夠大大加快查詢速率;
2、降低數據庫的 IO 成本,并且索引還可以降低數據庫的排序成本;
3、通過創建唯一性索引保證數據表數據的唯一性;
4、加快表與表之間的連接;
5、分組和排序的時候,可以大大減少分組和排序時間

(3)索引分類:

1、普通索引 :最基本的索引類型,而且沒有唯一性之類的限制;
2、唯一性索引 :與普通索引基本相似,區別在于,索引列的所有值都只能出現一次,即必須唯一;
3、主鍵 :主鍵是一種唯一性索引,必須指定為 “ primary key ” ;
4、全文索引 :mysql 從3.23.23版本開始支持全文索引和全文檢索,在mysql 中,全文索引的索引類型為 fulltext ,全文索引可以在 varchar 或者 text 類型的列上創建;
5、單列索引與多列索引:索引可以是單列上創建的索引,也可以是在多列上創建的索引。

(4)創建索引的原則依據:

表的主鍵、外鍵必須有索引;
數據量超過 300 行的表應該有索引;
經常與其他表進行連接的表,在連接字段上應該建立索引;
唯一性太差的字段不適合建立索引;
更新太頻繁的字段不適合創建索引;
經常出現在 where 子句中的字段,特別是大表的字段,應該建立索引;
索引應該建立在選擇性高的字段上;
索引應該建立在小字段上,對于大的文本字段甚至超長字段,不要建立索引。

(5)創建索引的辦法:

1、創建普通索引:
##創建普通索引
create index 要定義索引名稱 on 表名 (列名1,列名2....);
##查看索引
show index from info;
##刪除索引
drop index index_age on info;

例如,我們針對下面這張表,給年齡這列創建一個索引:

Mysql ------ 索引+ 事務

Mysql ------ 索引+ 事務

Mysql ------ 索引+ 事務

2、創建唯一性索引:
create unique index <索引的名字> on tablename(列的列表);
##另種方式:
更改表建構方式創建:alter table 表名 add index 索引名稱 (列名);
##第三種方式:可以在創建表的時候直接定義

Mysql ------ 索引+ 事務

Mysql ------ 索引+ 事務

Mysql ------ 索引+ 事務

3、創建主鍵索引:
##在創建新表的時候
creata table tablename ([..],primary key (列的列表));
##在已有的表上設置一個
alter table tablename add primary key (列的列表);
4、創建全文索引:
create fulltext index 索引名稱 on 表名(列的列表);
5、創建組合索引:
create index 索引名稱 on 表名 (列的列表1,列的列表2.....);
6、查看索引:
show index from tablename;   
show keys from tablename;

二、事務:

(1)事務概念:

簡單的說就是把所有的命令作為一個整體一起提交或者撤銷,要么一起都執行,要么一起都不執行。

(2)事務的四大特性:

1、原子性:所有元素都必須作為一個整體提交或回滾,任何元素失敗,則整個事務都失敗;
例如,我們平時下載軟件等,如果中途遇到故障等導致安裝失敗,就會退回到安裝軟件前的狀態。
2、一致性:事務開始之前,數據處于統一、一致的狀態;事務完成之后,再次回到一致轉態。
3、隔離性:所有并發事務彼此獨立,互不相干、影響。
4、持久性:一旦事務被提交,就會被永久地保留在數據庫中。

(3)事務的操作:

默認情況下,mysql 的事務都是自動提交的,當 sql 語句提交時事務便自動提交;
手動對事務進行控制的辦法(事務處理命令控制或者使用 set命令控制):
1、事務處理命令控制事務:
begin :開始一個事務;
commit :提交一個事務;
rollback :回滾一個事務;

Mysql ------ 索引+ 事務

Mysql ------ 索引+ 事務

接下來,我們開始做回滾操作,想回到哪個節點,就回到那個存檔點即可:

Mysql ------ 索引+ 事務

要想回滾到最初狀態,直接使用 rollback 命令:

Mysql ------ 索引+ 事務

Mysql ------ 索引+ 事務

Mysql ------ 索引+ 事務

2、使用 set 命令進行控制:

set autocommit=0 :禁止自動提交;

set autocommit=1 :開啟自動提交;

Mysql ------ 索引+ 事務

Mysql ------ 索引+ 事務

三、兩表相連查詢:

例如,下面有兩張表,第一張名為 suer;第二種名為 hob,因為這兩張表中有部分信息時相關聯的,如何操作:

Mysql ------ 索引+ 事務

輸入以下命令,將兩張表相關聯:
1、直接關聯:
select * from user inner join hob on user.hobby=hob.id;

Mysql ------ 索引+ 事務

2、還可以按條件關聯:
select user.name,hob.name from user inner join hob on user.hobby=hob.id;

Mysql ------ 索引+ 事務

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

安康市| 崇礼县| 蒙自县| 建昌县| 东莞市| 吴川市| 邢台县| 乃东县| 淮滨县| 吉木乃县| 保康县| 大同县| 崇左市| 宁武县| 聊城市| 凯里市| 阜城县| 青州市| 华蓥市| 化隆| 宜昌市| 锦屏县| 博乐市| 包头市| 于田县| 陇西县| 方城县| 铜陵市| 呼伦贝尔市| 松溪县| 兴化市| 兴和县| 县级市| 墨江| 独山县| 拉萨市| 盐边县| 无为县| 乌兰察布市| 西乌| 鹤山市|