日韩性视频-久久久蜜桃-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 降序索引的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 国产情侣酒店自拍 | av免费在线观看网站 | 在线观看免费福利 | 欧美黄色影院 | 欧美一级激情 | 久操精品在线 | 亚洲日本欧美 | 国产精品一区在线免费观看 | 久久精品久久久久 | 男女污污视频在线观看 | av字幕在线 | 成年人在线观看视频免费 | 欧美自拍偷拍第一页 | 极品美女销魂一区二区三区 | jizz日本18| 国产精品久线在线观看 | 狠狠精品干练久久久无码中文字幕 | 国产13页| 狠狠av| 韩国美女av | 日韩性欧美 | 女女h百合无遮涩涩漫画软件 | 人人妻人人爽欧美成人一区 | 亚洲欧美国产精品专区久久 | 亚洲综合av网 | 中文在线免费视频 | 欧美老熟妇又粗又大 | 黄色一级片在线免费观看 | 国产一区二区视频播放 | 日本精品视频在线播放 | 日韩欧美亚洲一区二区三区 | 一区二区在线免费视频 | 黑人巨大精品欧美黑白配亚洲 | 黄色资源在线 | 国产精品无码一区二区无人区多人 | 国产福利99 | 日本吃奶摸下激烈网站动漫 | 人人做| 一本色道久久综合熟妇 | 另类专区亚洲 | 国产精品一区二区久久毛片 | 日韩乱码人妻无码系列中文字幕 | 天堂视频在线观看免费 | 国产传媒一区二区三区 | 久久网中文字幕 | 免费爱爱视频 | 黄色最新网址 | 成人羞羞网站 | 天天射天天拍 | 国产欧美一级 | 欧美综合一区二区三区 | 日韩欧美视频在线播放 | 国产又粗又黄又爽 | 免费黄色在线看 | 国产精品免费av一区二区 | 欧美片网站yy | 日本亲近相奷中文字幕 | 天天躁夜夜操 | 波多野结衣在线观看一区二区 | 中文字幕女同女同女同 | 丝袜调教91porn | 飘花影院伦理片 | 天天射天天色天天干 | 亚洲一区免费视频 | 97人妻精品一区二区三区免 | 在线观看国产一区二区 | 国产无遮挡又黄又爽 | 久久新网址 | 亚洲国产精品视频一区 | 日韩av线 | 精品欧美久久 | 欧美日韩成人免费 | 带aaa级的网名| 国产精品毛片久久久久久久av | 国产精品久久久一区二区三区 | 精品国产成人av | 亚洲iv一区二区三区 | 国产模特av私拍大尺度 | 亚洲日本一区二区 | 天天色天天色天天色 | 天天拍天天干 | 厨房性猛交hd | 国产精品视频一区二区三区 | 17c在线观看视频 | 色综合综合色 | 黄色网络在线观看 | 国产综合久久久久久鬼色 | 婷久久| 日韩在线视频在线观看 | 丰满岳乱妇国产精品一区 | 高清毛片aaaaaaaaa片 | 中文无码熟妇人妻av在线 | 黄片毛片视频 | 久久久久久久久网站 | 在线播放av网站 | 大陆极品少妇内射aaaaa | 中国黄色三级 | 欧美视频成人 | 七月色|