極速下載站 —— 提供優(yōu)質(zhì)軟件下載服務(wù),感受全新的極速下載體驗(yàn)!

最近更新 | 軟件專題 | 軟件分類 | 軟件排行

您的位置:極速下載站資訊首頁系統(tǒng)教程系統(tǒng)資訊 → 優(yōu)化MYSQL動態(tài)網(wǎng)站索引分析速度教程

優(yōu)化MYSQL動態(tài)網(wǎng)站索引分析速度教程

時間:2019-09-16 14:49:06  作者:無名  瀏覽量:43

一、什么是索引?

進(jìn)入下載
MySQL
MySQL 5.7.22 官方版
大。79.36 MB
日期:2019/9/16 14:49:07
環(huán)境:WinXP,Win7

索引證來快速地尋找那些具有特定值的記載,一切MySQL索引都以B-樹的形式保存。假如沒有索引,履行查詢時MySQL有必要從第一個記載開始掃描整個表的一切記載,直至找到符合要求的記載。表里面的記載數(shù)量越 多,這個操作的代價就越高。假如作為查找條件的列上已經(jīng)創(chuàng)立了索引,MySQL無需掃描任何記載即可迅速得到方針記載地點(diǎn)的位置。假如表有1000個記 錄,經(jīng)過索引查找記載至少要比次序掃描記載快100倍。

優(yōu)化MYSQL動態(tài)網(wǎng)站索引分析速度教程

優(yōu)化MYSQL動態(tài)網(wǎng)站索引分析速度教程圖1

假定咱們創(chuàng)立了一個名為people的表:

CREATE TABLE people ( peopleid SMALLINT NOT NULL,name CHAR(50) NOT NULL );

然后,咱們徹底隨機(jī)把1000個不同name值刺進(jìn)到people表。在數(shù)據(jù)文件中name 列沒有任何清晰的次序。假如咱們創(chuàng)立了name列的索引,MySQL將在索引中排序name列,對于索引中的每一項(xiàng),MySQL在內(nèi)部為它保存一個數(shù)據(jù)文 件中實(shí)際記載地點(diǎn)位置的“指針”。因而,假如咱們要查找name等于“Mike”記載的peopleid(SQL指令為“SELECT peopleid FROM people WHERE name='Mike';”),MySQL可以在name的索引中查找“Mike”值,然后直接轉(zhuǎn)到數(shù)據(jù)文件中相應(yīng)的行,精確地返回該行的 peopleid(999)。在這個過程中,MySQL只需處理一個行就可以返回成果。假如沒有“name”列的索引,MySQL要掃描數(shù)據(jù)文件中的一切 記載,即1000個記載!顯然,需求MySQL處理的記載數(shù)量越少,則它完成任務(wù)的速度就越快。

二、索引的類型

MySQL供給多種索引類型供選擇:

一般索引 :

這是最基本的索引類型,并且它沒有僅有性之類的約束。一般索引可以經(jīng)過以下幾種方法創(chuàng)立:

創(chuàng)立索引,例如CREATE INDEX <索引的姓名> ON tablename (列的列表);

修正表,例如ALTER TABLE tablename ADD INDEX [索引的姓名] (列的列表);

創(chuàng)立表的時分指定索引,例如CREATE TABLE tablename ( [...],INDEX [索引的姓名] (列的列表) );

僅有性索引:

優(yōu)化MYSQL動態(tài)網(wǎng)站索引分析速度教程

優(yōu)化MYSQL動態(tài)網(wǎng)站索引分析速度教程圖2

這種索引和前面的“一般索引”基本相同,但有一個區(qū)別:索引列的一切值都只能出現(xiàn)一次,即有必要僅有。僅有性索引可以用以下幾種方法創(chuàng)立:

創(chuàng)立索引,例如CREATE UNIQUE INDEX <索引的姓名> ON tablename (列的列表);

修正表,例如ALTER TABLE tablename ADD UNIQUE [索引的姓名] (列的列表);

創(chuàng)立表的時分指定索引,例如CREATE TABLE tablename ( [...],UNIQUE [索引的姓名] (列的列表) );

主鍵 :

主鍵是一種僅有性索引,但它有必要指定為“PRIMARY KEY”。假如你曾經(jīng)用過AUTO_INCREMENT類型的列,你可能已經(jīng)熟悉主鍵之類的概念了。主鍵一般在創(chuàng)立表的時分指定,例如“CREATE TABLE tablename ( [...],PRIMARY KEY (列的列表) ); ”?墒,咱們也可以經(jīng)過修正表的方法加入主鍵,例如“ALTER TABLE tablename ADD PRIMARY KEY (列的列表); ”。每個表只能有一個主鍵。

全文索引:

MySQL從3.23.23版開始支撐全文索引和全文檢索。在MySQL中,全文索引的索引 類型為FULLTEXT。全文索引可以在VARCHAR或許TEXT類型的列上創(chuàng)立。它可以經(jīng)過CREATE TABLE指令創(chuàng)立,也可以經(jīng)過ALTER TABLE或CREATE INDEX指令創(chuàng)立。對于大規(guī)模的數(shù)據(jù)集,經(jīng)過ALTER TABLE(或許CREATE INDEX)指令創(chuàng)立全文索引要比把記載刺進(jìn)帶有全文索引的空表更快。本文下面的討論不再觸及全文索引,要了解更多信息,請拜見MySQL documentation。

三、單列索引與多列索引

123下一頁>

MySQL 5.7.22 官方版

MySQL圖片
  • 軟件性質(zhì):國外軟件
  • 授權(quán)方式:免費(fèi)版
  • 軟件語言:英文
  • 軟件大小:81268 KB
  • 下載次數(shù):4165 次
  • 更新時間:2019/9/15 0:42:40
  • 運(yùn)行平臺:WinXP,Win7...
  • 軟件描述:MySQL是比較流行的關(guān)系數(shù)據(jù)庫管理系統(tǒng)之一。由于其使用C和C++編寫,還為多種... [立即下載]

相關(guān)資訊

相關(guān)軟件

系統(tǒng)資訊排行
最新系統(tǒng)資訊
系統(tǒng)教程分類

更多常用電腦軟件

更多同類軟件專題