国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 幫助中心 > 正文

如何使用索引提高查詢速度

2024-07-09 22:47:50
字體:
來源:轉載
供稿:網友

使用索引提高查詢速度
1.前言
在web開發中,頁面模板,業務邏輯(包括緩存、連接池)和數據庫這三個部分,數據庫在其中負責執行SQL查詢并返回查詢結果,是影響網站速度最重要的性能瓶頸。本文主要針對MySql數據庫,雙十一的電商大戰,引發了淘寶技術熱議,而淘寶現在去IOE(I代表IBM的縮寫,即去IBM的存儲設備和小型機;O是代表Oracle的縮寫,也即去Oracle數據庫,采用MySQL和Hadoop替代的解決方案,;E是代表EMC2,即去EMC2的設備性,用PC Server替代EMC2),大量采用MySql集群!讓MySql再次成為耀眼的明星!而優化數據的重要一步就是索引的建立,對于mysql中出現的慢查詢,我們可以通過使用索引來提升查詢速度。索引用于快速找出在某個列中有一特定值的行。不使用索引,MySQL將進行全表掃描,從第1條記錄開始然后讀完整個表直到找出相關的行。

2.mysql索引類型及創建
常用的索引類型有

(1)主鍵索引
它是一種特殊的唯一索引,不允許有空值。一般是在建表的時候同時創建主鍵索引:

復制代碼 代碼如下:

CREATE TABLE user(
id int unsigned not null auto_increment,
name varchar(50) not null,
email varchar(40) not null,
primary key (id)
);

(2)普通索引
這是最基本的索引,它沒有任何限制。創建方式:
復制代碼 代碼如下:

create index idx_name on user(
name(20)
);

mysql支持前綴索引,一般姓名不會超過20個字符,所以我們這里建立索引的時候限定了長度20,這樣可以節省索引文件大小

(3)唯一索引
它與前面的普通索引類似,不同的就是:索引列的值必須唯一,但允許有空值。如果是組合索引,則列值的組合必須唯一。創建方式:
復制代碼 代碼如下:

CREATE UNIQUE INDEX idx_email ON user(
email
);

(4)全文索引
MySQL支持全文索引和搜索功能。MySQL中的全文索引類型為FULLTEXT的索引。  FULLTEXT 索引僅可用于 MyISAM表;
復制代碼 代碼如下:

CREATE TABLE articles (
   id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
   title VARCHAR(200),
   body TEXT,
   FULLTEXT (title,body)
    );

mysql> SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('database');

查詢結果:
+----+-------------------+------------------------------------------+
| id | title             | body                                     |
+----+-------------------+------------------------------------------+

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 兴海县| 甘洛县| 建湖县| 清远市| 公安县| 迭部县| 聂荣县| 静乐县| 兴海县| 澳门| 通江县| 临西县| 柏乡县| 独山县| 望都县| 讷河市| 永济市| 平陆县| 东乌珠穆沁旗| 巫溪县| 监利县| 南昌市| 苍溪县| 苏尼特左旗| 宁晋县| 新干县| 门头沟区| 乐陵市| 黔江区| 沐川县| 蓬莱市| 平罗县| 海伦市| 延吉市| 瑞昌市| 安宁市| 遂宁市| 眉山市| 合山市| 安吉县| 中阳县|