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

歡迎訪問 生活随笔!

生活随笔

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

数据库

mysql按升序创建索引_MySQL 降序索引

發布時間:2024/9/27 数据库 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql按升序创建索引_MySQL 降序索引 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

MySQL 降序索引

簡介:在本教程中,您將了解MySQL降序索引以及如何利用它來提高查詢性能。

MySQL降序索引簡介

降序索引是以降序存儲鍵值的索引。在MySQL 8.0之前,您可以DESC在索引定義中指定。但是,MySQL忽略了它。與此同時,MySQL可以以相反的順序掃描索引,但成本很高。

以下語句創建一個帶索引的新表:

CREATE TABLE t(

a INT NOT NULL,

b INT NOT NULL,

INDEX a_asc_b_desc (a ASC, b DESC)

);

當您使用SHOW CREATE TABLE在MySQL 5.7,你會發現,DESC如下圖所示被忽略:

mysql> SHOW CREATE TABLE t\G;

*************************** 1. row ***************************

Table: t

Create Table: CREATE TABLE `t` (

`a` int(11) NOT NULL,

`b` int(11) NOT NULL,

KEY `a_asc_b_desc` (`a`,`b`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1

1 row in set (0.00 sec)

從MySQL 8.0開始,如果DESC在索引定義中使用關鍵字,則鍵值將按降序存儲。在查詢中請求降序時,查詢優化器可以利用降序索引。

以下顯示了MySQL 8.0中的表結構:

mysql> SHOW CREATE TABLE t\G;

*************************** 1. row ***************************

Table: t

Create Table: CREATE TABLE `t` (

`a` int(11) NOT NULL,

`b` int(11) NOT NULL,

KEY `a_asc_b_desc` (`a`,`b` DESC)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

1 row in set (0.00 sec)

MySQL降序索引示例

首先,使用不同順序的四個索引重新創建表t:

DROP TABLE t;

CREATE TABLE t (

a INT,

b INT,

INDEX a_asc_b_asc (a ASC , b ASC),

INDEX a_asc_b_desc (a ASC , b DESC),

INDEX a_desc_b_asc (a DESC , b ASC),

INDEX a_desc_b_desc (a DESC , b DESC)

);

其次,使用下面的存儲過程來插入行到t表:

DELIMITER $$

CREATE PROCEDURE insertSampleData(

IN rowCount INT,

IN low INT,

IN high INT

)

BEGIN

DECLARE counter INT DEFAULT 0;

REPEAT

SET counter := counter + 1;

-- insert data

INSERT INTO t(a,b)

VALUES(

ROUND((RAND() * (high-low))+high),

ROUND((RAND() * (high-low))+high)

);

UNTIL counter >= rowCount

END REPEAT;

END$$

DELIMITER ;

存儲的過程中插入的行數(rowCount)與之間的值low和high到a和b所述列t表。

讓我們10,000在t表中插入行,其中隨機值介于1和1000之間:

CALL insertSampleData(10000,1,1000);

第三,從t表中查詢具有不同排序順序的數據:

按升序排列a和b列中的值:

EXPLAIN SELECT

*

FROM

t

ORDER BY a , b; -- use index a_asc_b_asc

這是輸出:

+----+-------------+-------+------------+-------+---------------+-------------+---------+------+-------+----------+-------------+

| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |

+----+-------------+-------+------------+-------+---------------+-------------+---------+------+-------+----------+-------------+

| 1 | SIMPLE | t | NULL | index | NULL | a_asc_b_asc | 10 | NULL | 10192 | 100.00 | Using index |

+----+-------------+-------+------------+-------+---------------+-------------+---------+------+-------+----------+-------------+

1 row in set, 1 warning (0.03 sec)

按升序對a列中的值進行排序,按降序對列 b 中的值進行排序:

EXPLAIN SELECT

*

FROM

t

ORDER BY a , b DESC; -- use index a_asc_b_desc

輸出是:

+----+-------------+-------+------------+-------+---------------+--------------+---------+------+-------+----------+-------------+

| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |

+----+-------------+-------+------------+-------+---------------+--------------+---------+------+-------+----------+-------------+

| 1 | SIMPLE | t | NULL | index | NULL | a_asc_b_desc | 10 | NULL | 10192 | 100.00 | Using index |

+----+-------------+-------+------------+-------+---------------+--------------+---------+------+-------+----------+-------------+

1 row in set, 1 warning (0.01 sec)

按降序對a列中的值進行排序,按升序對列?b?中的值進行排序:

EXPLAIN SELECT

*

FROM

t

ORDER BY a DESC , b; -- use index a_desc_b_asc

以下說明輸出:

+----+-------------+-------+------------+-------+---------------+--------------+---------+------+-------+----------+-------------+

| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |

+----+-------------+-------+------------+-------+---------------+--------------+---------+------+-------+----------+-------------+

| 1 | SIMPLE | t | NULL | index | NULL | a_desc_b_asc | 10 | NULL | 10192 | 100.00 | Using index |

+----+-------------+-------+------------+-------+---------------+--------------+---------+------+-------+----------+-------------+

1 row in set, 1 warning (0.42 sec)

按列a和b降序對值進行排序:

EXPLAIN SELECT

*

FROM

t

ORDER BY a DESC , b DESC; -- use index a_desc_b_desc

以下顯示輸出:

+----+-------------+-------+------------+-------+---------------+---------------+---------+------+-------+----------+-------------+

| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |

+----+-------------+-------+------------+-------+---------------+---------------+---------+------+-------+----------+-------------+

| 1 | SIMPLE | t | NULL | index | NULL | a_desc_b_desc | 10 | NULL | 10192 | 100.00 | Using index |

+----+-------------+-------+------------+-------+---------------+---------------+---------+------+-------+----------+-------------+

1 row in set, 1 warning (0.01 sec)

在本教程中,您學習了如何使用MySQL降序索引來提高查詢性能。

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的mysql按升序创建索引_MySQL 降序索引的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 丰满岳跪趴高撅肥臀尤物在线观看 | 无码gogo大胆啪啪艺术 | 美女网站在线免费观看 | 亚洲免费三区 | 中文字幕一区二区在线视频 | 香蕉视频在线观看视频 | 日韩美一级片 | 精品一区二区av | 999国内精品永久免费视频 | 日韩成人在线视频 | 久久久在线观看 | 国产a网站 | 欧美天天影院 | 色乱码一区二区三区 | 精品国产一级久久 | 亚洲国产123 | 粉嫩精品久久99综合一区 | 超碰2020| 毛片基地免费观看 | 毛片网站免费观看 | 人人干av | 精品少妇一区二区三区免费观看 | 91小宝寻花一区二区三区 | 制服一区二区 | 激情五月av | 亚洲最大黄色网址 | 国产一区二区h | 成人免费一级片 | 无码人妻一区二区三区一 | 色婷婷六月 | 欧美三级午夜理伦三级小说 | 色综合狠狠爱 | 色桃网| 日本不卡久久 | 青春草在线视频免费观看 | 国产码视频 | 久久香蕉热 | 欧美黑人又粗又大的性格特点 | 色网导航站 | 亚洲电影在线观看 | 天干夜夜爽爽日日日日 | 女同二区 | www.欧美视频 | 四虎在线观看 | 污视频网站免费 | 乳揉みま痴汉4在线播放 | 摸一摸操一操 | 91av毛片 | 久久国产精品亚洲 | 国产精品999视频 | 人体写真 福利视频 | 日韩黄| 国产精品一区在线免费观看 | 一区二区三区日韩欧美 | 日本免费看 | 性爱一级视频 | 国产精品一区二区三区免费视频 | 劲爆欧美第一页 | 色悠悠久久综合 | 日日干日日操 | 97狠狠干 | 亚洲电影中文字幕 | 黄色性大片 | 国产真实乱人偷精品 | 欧美在线性 | 精品人妻伦一区二区三区久久 | 亚洲无在线观看 | 我的丝袜美腿尤物麻麻 | 日本亚洲国产 | 亚洲一区二区天堂 | 青青操91 | 久久依人网| 日韩一级片av | 国产a自拍 | 色综合狠狠爱 | 好吊妞这里只有精品 | 毛片aaaa| 一区二区三区韩国 | 日韩精品v| 青青草视频 | 91国自产精品中文字幕亚洲 | 亚洲熟妇av一区二区三区漫画 | 欧洲精品久久一区二区 | 日本视频免费观看 | 男人午夜网站 | 国产精品无码在线播放 | 免费激情小视频 | 免费无码国产精品 | 爽爽影院在线免费观看 | 国产伦精品一区二区三区视频孕妇 | 三级91 | 少妇全黄性生交片 | 人人爽在线 | 爱情岛论坛亚洲品质自拍 | 黄色免费在线网址 | 免费看黄色三级三级 | 国产三级三级看三级 | 国内外成人在线视频 | 少妇免费毛片久久久久久久久 |