文章目錄
一、索引:
(1)數(shù)據(jù)庫(kù)索引:
(2)索引的作用:
(3)索引分類:
(4)創(chuàng)建索引的原則依據(jù):
(5)創(chuàng)建索引的辦法:
二、事務(wù):
(1)事務(wù)概念:
(2)事務(wù)的四大特性:
(3)事務(wù)的操作:
三、兩表相連查詢:
一、索引:
(1)數(shù)據(jù)庫(kù)索引:
1、在數(shù)據(jù)庫(kù)中,索引使數(shù)據(jù)程序無(wú)須對(duì)整個(gè)表進(jìn)行掃描,就可以在其中找到所需數(shù)據(jù);
2、數(shù)據(jù)庫(kù)中的索引是某個(gè)表中一列或者若干列值的集合,以及物理標(biāo)識(shí)這些值的數(shù)據(jù)頁(yè)的邏輯指針清單。
(2)索引的作用:
1、數(shù)據(jù)庫(kù)能夠大大加快查詢速率;
2、降低數(shù)據(jù)庫(kù)的 IO 成本,并且索引還可以降低數(shù)據(jù)庫(kù)的排序成本;
3、通過(guò)創(chuàng)建唯一性索引保證數(shù)據(jù)表數(shù)據(jù)的唯一性;
4、加快表與表之間的連接;
5、分組和排序的時(shí)候,可以大大減少分組和排序時(shí)間
(3)索引分類:
1、普通索引 :最基本的索引類型,而且沒(méi)有唯一性之類的限制;
2、唯一性索引 :與普通索引基本相似,區(qū)別在于,索引列的所有值都只能出現(xiàn)一次,即必須唯一;
3、主鍵 :主鍵是一種唯一性索引,必須指定為 “ primary key ” ;
4、全文索引 :MySQL 從3.23.23版本開(kāi)始支持全文索引和全文檢索,在mysql 中,全文索引的索引類型為 fulltext ,全文索引可以在 varchar 或者 text 類型的列上創(chuàng)建;
5、單列索引與多列索引:索引可以是單列上創(chuàng)建的索引,也可以是在多列上創(chuàng)建的索引。
(4)創(chuàng)建索引的原則依據(jù):
表的主鍵、外鍵必須有索引;
數(shù)據(jù)量超過(guò) 300 行的表應(yīng)該有索引;
經(jīng)常與其他表進(jìn)行連接的表,在連接字段上應(yīng)該建立索引;
唯一性太差的字段不適合建立索引;
更新太頻繁的字段不適合創(chuàng)建索引;
經(jīng)常出現(xiàn)在 where 子句中的字段,特別是大表的字段,應(yīng)該建立索引;
索引應(yīng)該建立在選擇性高的字段上;
索引應(yīng)該建立在小字段上,對(duì)于大的文本字段甚至超長(zhǎng)字段,不要建立索引。
(5)創(chuàng)建索引的辦法:
1、創(chuàng)建普通索引:
##創(chuàng)建普通索引
create index 要定義索引名稱 on 表名 (列名1,列名2....);
##查看索引
show index from info;
##刪除索引
drop index index_age on info;
例如,我們針對(duì)下面這張表,給年齡這列創(chuàng)建一個(gè)索引:
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),中衛(wèi)企業(yè)網(wǎng)站建設(shè),中衛(wèi)品牌網(wǎng)站建設(shè),網(wǎng)站定制,中衛(wèi)網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,中衛(wèi)網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。



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



3、創(chuàng)建主鍵索引:
##在創(chuàng)建新表的時(shí)候
creata table tablename ([..],primary key (列的列表));
##在已有的表上設(shè)置一個(gè)
alter table tablename add primary key (列的列表);
4、創(chuàng)建全文索引:
create fulltext index 索引名稱 on 表名(列的列表);
5、創(chuàng)建組合索引:
create index 索引名稱 on 表名 (列的列表1,列的列表2.....);
6、查看索引:
show index from tablename;
show keys from tablename;
二、事務(wù):
(1)事務(wù)概念:
簡(jiǎn)單的說(shuō)就是把所有的命令作為一個(gè)整體一起提交或者撤銷,要么一起都執(zhí)行,要么一起都不執(zhí)行。
(2)事務(wù)的四大特性:
1、原子性:所有元素都必須作為一個(gè)整體提交或回滾,任何元素失敗,則整個(gè)事務(wù)都失敗;
例如,我們平時(shí)下載軟件等,如果中途遇到故障等導(dǎo)致安裝失敗,就會(huì)退回到安裝軟件前的狀態(tài)。
2、一致性:事務(wù)開(kāi)始之前,數(shù)據(jù)處于統(tǒng)一、一致的狀態(tài);事務(wù)完成之后,再次回到一致轉(zhuǎn)態(tài)。
3、隔離性:所有并發(fā)事務(wù)彼此獨(dú)立,互不相干、影響。
4、持久性:一旦事務(wù)被提交,就會(huì)被永久地保留在數(shù)據(jù)庫(kù)中。
(3)事務(wù)的操作:
默認(rèn)情況下,mysql 的事務(wù)都是自動(dòng)提交的,當(dāng) sql 語(yǔ)句提交時(shí)事務(wù)便自動(dòng)提交;
手動(dòng)對(duì)事務(wù)進(jìn)行控制的辦法(事務(wù)處理命令控制或者使用 set命令控制):
1、事務(wù)處理命令控制事務(wù):
begin :開(kāi)始一個(gè)事務(wù);
commit :提交一個(gè)事務(wù);
rollback :回滾一個(gè)事務(wù);


接下來(lái),我們開(kāi)始做回滾操作,想回到哪個(gè)節(jié)點(diǎn),就回到那個(gè)存檔點(diǎn)即可:

要想回滾到最初狀態(tài),直接使用 rollback 命令:



2、使用 set 命令進(jìn)行控制:
set autocommit=0 :禁止自動(dòng)提交;
set autocommit=1 :開(kāi)啟自動(dòng)提交;


三、兩表相連查詢:
例如,下面有兩張表,第一張名為 suer;第二種名為 hob,因?yàn)檫@兩張表中有部分信息時(shí)相關(guān)聯(lián)的,如何操作:

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

2、還可以按條件關(guān)聯(lián):
select user.name,hob.name from user inner join hob on user.hobby=hob.id;

當(dāng)前標(biāo)題:Mysql------索引+事務(wù)
當(dāng)前地址:http://chinadenli.net/article34/ppcpse.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、服務(wù)器托管、搜索引擎優(yōu)化、網(wǎng)站建設(shè)、品牌網(wǎng)站建設(shè)、App開(kāi)發(fā)
廣告
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源:
創(chuàng)新互聯(lián)