日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

影响索引的mysql函数_mysql索引对排序的影响实例分析

發布時間:2025/3/8 数据库 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 影响索引的mysql函数_mysql索引对排序的影响实例分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文實例講述了mysql索引對排序的影響。分享給大家供大家參考,具體如下:

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

測試

1、創建測試表: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行數據

$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、商場網站,一般都會按照某個分類進行價格上的排序,我們來模擬一下,執行同一條sql語句。

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

(1)首先不添加索引

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

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

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

這里的查詢分析中Extra沒用了Using filesort,表示添加上索引再進行查詢的sql沒有使用到外部排序,而是使用到了索引的排序,因為索引本身就是會排序的,所以不需要額外的order by一次。

4、觀測查詢時間

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

Query_ID為1的sql語句執行詳細耗時圖:

Query_ID為3的sql語句執行詳細耗時圖:

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

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

更多關于MySQL相關內容感興趣的讀者可查看本站專題:《MySQL索引操作技巧匯總》、《MySQL常用函數大匯總》、《MySQL日志操作技巧大全》、《MySQL事務操作技巧匯總》、《MySQL存儲過程技巧大全》及《MySQL數據庫鎖相關技巧匯總》

希望本文所述對大家MySQL數據庫計有所幫助。

您可能感興趣的文章:mysql建立高效的索引實例分析

mysql重復索引與冗余索引實例分析

mysql索引覆蓋實例分析

MySQL中NULL對索引的影響深入講解

詳解MySQL索引原理以及優化

通過唯一索引S鎖與X鎖來了解MySQL死鎖套路

mysql 添加索引 mysql 如何創建索引

MySQL索引類型總結和使用技巧以及注意事項

MySQL查看、創建和刪除索引的方法

MySQL 創建索引(Create Index)的方法和語法結構及例子

mysql聚簇索引的頁分裂原理實例分析

總結

以上是生活随笔為你收集整理的影响索引的mysql函数_mysql索引对排序的影响实例分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。