成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

mysql索引對(duì)排序的影響實(shí)例分析

本文實(shí)例講述了MySQL索引對(duì)排序的影響。分享給大家供大家參考,具體如下:

創(chuàng)新互聯(lián)云計(jì)算的互聯(lián)網(wǎng)服務(wù)提供商,擁有超過13年的服務(wù)器租用、南充服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn),已先后獲得國(guó)家工業(yè)和信息化部頒發(fā)的互聯(lián)網(wǎng)數(shù)據(jù)中心業(yè)務(wù)許可證。專業(yè)提供云主機(jī)、虛擬主機(jī)、空間域名、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。

索引不僅能提高查詢速度,還可以添加排序速度,如果order by 后面的語(yǔ)句用到了索引,那么將會(huì)提高排序的速度。

測(cè)試

1、創(chuàng)建測(cè)試表:t15表

CREATE TABLE `t15` (
 `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
 `cat_id` int(10) unsigned NOT NULL DEFAULT '0',
 `price` decimal(10,2) NOT NULL DEFAULT '0.00',
 `name` char(5) NOT NULL DEFAULT '',
 PRIMARY KEY (`id`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8

2、插入1W行數(shù)據(jù)

<?php
$db = 'test';
$conn = mysql_connect('localhost','root','1234');
mysql_query('use ' . $db , $conn);
mysql_query('set names utf8' , $conn);
for($i=1;$i<=10000;$i++) {
  $cat_id = rand(1,10);
  $price = rand(1,50000);
  $name = substr(str_shuffle('abcdefghjkmnpqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ234565789'),0,5);
  $sql = sprintf("insert into t15 values (%d,%d,%f,'%s')",$i,$cat_id,$price,$name);
  mysql_query($sql , $conn);
}

3、商場(chǎng)網(wǎng)站,一般都會(huì)按照某個(gè)分類進(jìn)行價(jià)格上的排序,我們來模擬一下,執(zhí)行同一條sql語(yǔ)句。

select name,cat_id,price from t15 where cat_id=1 order by price;

(1)首先不添加索引

從查詢分析可以看到Extra中使用到了Using filesort,表示需要進(jìn)行文件排序。

mysql索引對(duì)排序的影響實(shí)例分析

(2)給(cat_id,price)列添加索引

alter table t15 add index cp(cat_id,price);

這里的查詢分析中Extra沒用了Using filesort,表示添加上索引再進(jìn)行查詢的sql沒有使用到外部排序,而是使用到了索引的排序,因?yàn)樗饕旧砭褪菚?huì)排序的,所以不需要額外的order by一次。

mysql索引對(duì)排序的影響實(shí)例分析

4、觀測(cè)查詢時(shí)間

mysql索引對(duì)排序的影響實(shí)例分析

Query_ID為1的是沒有添加索引執(zhí)行的語(yǔ)句,Query_ID為3的是添加索引后執(zhí)行的語(yǔ)句,一個(gè)執(zhí)行時(shí)間為0.013秒,一個(gè)執(zhí)行時(shí)間為0.005秒,肯定是加上索引的快,我們來看看具體快在哪里

Query_ID為1的sql語(yǔ)句執(zhí)行詳細(xì)耗時(shí)圖:

mysql索引對(duì)排序的影響實(shí)例分析

Query_ID為3的sql語(yǔ)句執(zhí)行詳細(xì)耗時(shí)圖:

mysql索引對(duì)排序的影響實(shí)例分析

很明顯,Query_ID1中的Sorting result耗時(shí)0.012秒,而Query_ID2中的Sorting result只耗時(shí)0.000004秒,而這個(gè)Sorting result就是排序耗時(shí)。

結(jié)論:索引對(duì)排序的速度是有一定的影響的,所以,在實(shí)際的開發(fā)中,要結(jié)合實(shí)際情況制定索引,并盡可能將排序字段添加至索引中。

更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《MySQL索引操作技巧匯總》、《MySQL常用函數(shù)大匯總》、《MySQL日志操作技巧大全》、《MySQL事務(wù)操作技巧匯總》、《MySQL存儲(chǔ)過程技巧大全》及《MySQL數(shù)據(jù)庫(kù)鎖相關(guān)技巧匯總》

希望本文所述對(duì)大家MySQL數(shù)據(jù)庫(kù)計(jì)有所幫助。

網(wǎng)站欄目:mysql索引對(duì)排序的影響實(shí)例分析
鏈接URL:http://jinyejixie.com/article14/jopsge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣、網(wǎng)站營(yíng)銷、微信公眾號(hào)、響應(yīng)式網(wǎng)站品牌網(wǎng)站制作、電子商務(wù)

廣告

聲明:本網(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í)需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站
濉溪县| 准格尔旗| 哈巴河县| 丹寨县| 奉贤区| 远安县| 桑植县| 襄垣县| 辽中县| 贺兰县| 岚皋县| 恩施市| 宝鸡市| 和龙市| 岳西县| 九寨沟县| 嵩明县| 金乡县| 集贤县| 哈巴河县| 枝江市| 略阳县| 出国| 德江县| 平遥县| 邵阳县| 石河子市| 镇原县| 托克托县| 娱乐| 依安县| 崇仁县| 长葛市| 湘潭县| 龙山县| 仁怀市| 公安县| 侯马市| 左权县| 彭山县| 长沙县|