{"id":6836,"date":"2018-08-12T09:14:01","date_gmt":"2018-08-12T16:14:01","guid":{"rendered":"http:\/\/www.mysqltutorial.org\/?page_id=6836"},"modified":"2024-01-05T03:20:56","modified_gmt":"2024-01-05T10:20:56","slug":"mysql-descending-index","status":"publish","type":"page","link":"https:\/\/www.mysqltutorial.org\/mysql-index\/mysql-descending-index\/","title":{"rendered":"MySQL Descending Index"},"content":{"rendered":"\n<p><strong>Summary<\/strong>: in this tutorial, you will learn about MySQL descending index and how to leverage it to increase the performance of queries.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Introduction to MySQL descending index<\/h2>\n\n\n\n<p>A descending index is an index that stores key values in the descending order. Before MySQL 8.0, you can specify the <code>DESC<\/code> in an index definition. However, MySQL ignored it. In the meantime, MySQL could scan the index in reverse order but it comes at a high cost.<\/p>\n\n\n\n<p>The following statement <a href=\"https:\/\/www.mysqltutorial.org\/mysql-basics\/mysql-create-table\/\">creates a new table<\/a> with an index:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"SQL (Structured Query Language)\" data-shcb-language-slug=\"sql\"><span><code class=\"hljs language-sql\"><span class=\"hljs-keyword\">CREATE<\/span> <span class=\"hljs-keyword\">TABLE<\/span> t(\n    a <span class=\"hljs-built_in\">INT<\/span> <span class=\"hljs-keyword\">NOT<\/span> <span class=\"hljs-literal\">NULL<\/span>,\n    b <span class=\"hljs-built_in\">INT<\/span> <span class=\"hljs-keyword\">NOT<\/span> <span class=\"hljs-literal\">NULL<\/span>,\n    <span class=\"hljs-keyword\">INDEX<\/span> a_asc_b_desc (a <span class=\"hljs-keyword\">ASC<\/span>, b <span class=\"hljs-keyword\">DESC<\/span>)\n);<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">SQL (Structured Query Language)<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">sql<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>When you use the <code>SHOW CREATE TABLE<\/code> in MySQL 5.7, you will find that the <code>DESC<\/code> is ignored as shown below:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"SQL (Structured Query Language)\" data-shcb-language-slug=\"sql\"><span><code class=\"hljs language-sql\">mysql&gt; <span class=\"hljs-keyword\">SHOW<\/span> <span class=\"hljs-keyword\">CREATE<\/span> <span class=\"hljs-keyword\">TABLE<\/span> t\\G;\n*************************** 1. row ***************************\n       Table: t\n<span class=\"hljs-keyword\">Create<\/span> <span class=\"hljs-keyword\">Table<\/span>: <span class=\"hljs-keyword\">CREATE<\/span> <span class=\"hljs-keyword\">TABLE<\/span> <span class=\"hljs-string\">`t`<\/span> (\n  <span class=\"hljs-string\">`a`<\/span> <span class=\"hljs-built_in\">int<\/span>(<span class=\"hljs-number\">11<\/span>) <span class=\"hljs-keyword\">NOT<\/span> <span class=\"hljs-literal\">NULL<\/span>,\n  <span class=\"hljs-string\">`b`<\/span> <span class=\"hljs-built_in\">int<\/span>(<span class=\"hljs-number\">11<\/span>) <span class=\"hljs-keyword\">NOT<\/span> <span class=\"hljs-literal\">NULL<\/span>,\n  <span class=\"hljs-keyword\">KEY<\/span> <span class=\"hljs-string\">`a_asc_b_desc`<\/span> (<span class=\"hljs-string\">`a`<\/span>,<span class=\"hljs-string\">`b`<\/span>)\n) <span class=\"hljs-keyword\">ENGINE<\/span>=<span class=\"hljs-keyword\">InnoDB<\/span> <span class=\"hljs-keyword\">DEFAULT<\/span> <span class=\"hljs-keyword\">CHARSET<\/span>=latin1\n<span class=\"hljs-number\">1<\/span> <span class=\"hljs-keyword\">row<\/span> <span class=\"hljs-keyword\">in<\/span> <span class=\"hljs-keyword\">set<\/span> (<span class=\"hljs-number\">0.00<\/span> sec)\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">SQL (Structured Query Language)<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">sql<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Starting from MySQL 8.0, the key values are stored in descending order if you use the DESC keyword in the index definition. The query optimizer can take advantage of the descending index when descending order is requested in the query.<\/p>\n\n\n\n<p>The following shows the table structure in MySQL 8.0:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"SQL (Structured Query Language)\" data-shcb-language-slug=\"sql\"><span><code class=\"hljs language-sql\">mysql&gt; <span class=\"hljs-keyword\">SHOW<\/span> <span class=\"hljs-keyword\">CREATE<\/span> <span class=\"hljs-keyword\">TABLE<\/span> t\\G;\n*************************** 1. row ***************************\n       Table: t\n<span class=\"hljs-keyword\">Create<\/span> <span class=\"hljs-keyword\">Table<\/span>: <span class=\"hljs-keyword\">CREATE<\/span> <span class=\"hljs-keyword\">TABLE<\/span> <span class=\"hljs-string\">`t`<\/span> (\n  <span class=\"hljs-string\">`a`<\/span> <span class=\"hljs-built_in\">int<\/span>(<span class=\"hljs-number\">11<\/span>) <span class=\"hljs-keyword\">NOT<\/span> <span class=\"hljs-literal\">NULL<\/span>,\n  <span class=\"hljs-string\">`b`<\/span> <span class=\"hljs-built_in\">int<\/span>(<span class=\"hljs-number\">11<\/span>) <span class=\"hljs-keyword\">NOT<\/span> <span class=\"hljs-literal\">NULL<\/span>,\n  <span class=\"hljs-keyword\">KEY<\/span> <span class=\"hljs-string\">`a_asc_b_desc`<\/span> (<span class=\"hljs-string\">`a`<\/span>,<span class=\"hljs-string\">`b`<\/span> <span class=\"hljs-keyword\">DESC<\/span>)\n) <span class=\"hljs-keyword\">ENGINE<\/span>=<span class=\"hljs-keyword\">InnoDB<\/span> <span class=\"hljs-keyword\">DEFAULT<\/span> <span class=\"hljs-keyword\">CHARSET<\/span>=utf8mb4 <span class=\"hljs-keyword\">COLLATE<\/span>=utf8mb4_0900_ai_ci\n<span class=\"hljs-number\">1<\/span> <span class=\"hljs-keyword\">row<\/span> <span class=\"hljs-keyword\">in<\/span> <span class=\"hljs-keyword\">set<\/span> (<span class=\"hljs-number\">0.00<\/span> sec)\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">SQL (Structured Query Language)<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">sql<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\">MySQL Descending Index example<\/h2>\n\n\n\n<p>First, create the <code>t<\/code> table with four indexes in different orders:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"SQL (Structured Query Language)\" data-shcb-language-slug=\"sql\"><span><code class=\"hljs language-sql\"><span class=\"hljs-keyword\">DROP<\/span> <span class=\"hljs-keyword\">TABLE<\/span> t;\n\n<span class=\"hljs-keyword\">CREATE<\/span> <span class=\"hljs-keyword\">TABLE<\/span> t (\n    a <span class=\"hljs-built_in\">INT<\/span>,\n    b <span class=\"hljs-built_in\">INT<\/span>,\n    <span class=\"hljs-keyword\">INDEX<\/span> a_asc_b_asc (a <span class=\"hljs-keyword\">ASC<\/span> , b <span class=\"hljs-keyword\">ASC<\/span>),\n    <span class=\"hljs-keyword\">INDEX<\/span> a_asc_b_desc (a <span class=\"hljs-keyword\">ASC<\/span> , b <span class=\"hljs-keyword\">DESC<\/span>),\n    <span class=\"hljs-keyword\">INDEX<\/span> a_desc_b_asc (a <span class=\"hljs-keyword\">DESC<\/span> , b <span class=\"hljs-keyword\">ASC<\/span>),\n    <span class=\"hljs-keyword\">INDEX<\/span> a_desc_b_desc (a <span class=\"hljs-keyword\">DESC<\/span> , b <span class=\"hljs-keyword\">DESC<\/span>)\n);<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">SQL (Structured Query Language)<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">sql<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Second, use the following <a href=\"https:\/\/www.mysqltutorial.org\/mysql-stored-procedure\/\">stored procedure<\/a> to <a href=\"https:\/\/www.mysqltutorial.org\/mysql-basics\/mysql-insert\/\">insert<\/a> rows into the <code>t<\/code> table:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-5\" data-shcb-language-name=\"SQL (Structured Query Language)\" data-shcb-language-slug=\"sql\"><span><code class=\"hljs language-sql\">DELIMITER $$\n\n<span class=\"hljs-keyword\">CREATE<\/span> <span class=\"hljs-keyword\">PROCEDURE<\/span> insertSampleData(\n    <span class=\"hljs-keyword\">IN<\/span> rowCount <span class=\"hljs-built_in\">INT<\/span>, \n    <span class=\"hljs-keyword\">IN<\/span> <span class=\"hljs-keyword\">low<\/span> <span class=\"hljs-built_in\">INT<\/span>, \n    <span class=\"hljs-keyword\">IN<\/span> <span class=\"hljs-keyword\">high<\/span> <span class=\"hljs-built_in\">INT<\/span>\n)\n<span class=\"hljs-keyword\">BEGIN<\/span>\n    <span class=\"hljs-keyword\">DECLARE<\/span> counter <span class=\"hljs-built_in\">INT<\/span> <span class=\"hljs-keyword\">DEFAULT<\/span> <span class=\"hljs-number\">0<\/span>;\n    REPEAT\n        <span class=\"hljs-keyword\">SET<\/span> counter := counter + <span class=\"hljs-number\">1<\/span>;\n        <span class=\"hljs-comment\">-- insert data<\/span>\n        <span class=\"hljs-keyword\">INSERT<\/span> <span class=\"hljs-keyword\">INTO<\/span> t(a,b)\n        <span class=\"hljs-keyword\">VALUES<\/span>(\n            <span class=\"hljs-keyword\">ROUND<\/span>((<span class=\"hljs-keyword\">RAND<\/span>() * (<span class=\"hljs-keyword\">high<\/span>-<span class=\"hljs-keyword\">low<\/span>))+<span class=\"hljs-keyword\">high<\/span>),\n            <span class=\"hljs-keyword\">ROUND<\/span>((<span class=\"hljs-keyword\">RAND<\/span>() * (<span class=\"hljs-keyword\">high<\/span>-<span class=\"hljs-keyword\">low<\/span>))+<span class=\"hljs-keyword\">high<\/span>)\n        );\n    UNTIL counter &gt;= rowCount\n    <span class=\"hljs-keyword\">END<\/span> <span class=\"hljs-keyword\">REPEAT<\/span>;\n<span class=\"hljs-keyword\">END<\/span>$$    \n\nDELIMITER ;<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-5\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">SQL (Structured Query Language)<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">sql<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>The stored procedure inserts several rows (<code>rowCount<\/code>) with the values between <code>low<\/code> and <code>high<\/code> into the <code>a<\/code> and <code>b<\/code> columns of the <code>t<\/code> table.<\/p>\n\n\n\n<p>Let&#8217;s insert <code>10,000<\/code> rows into the <code>t<\/code> table with the random values between 1 and 1000:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-6\" data-shcb-language-name=\"SQL (Structured Query Language)\" data-shcb-language-slug=\"sql\"><span><code class=\"hljs language-sql\"><span class=\"hljs-keyword\">CALL<\/span> insertSampleData(<span class=\"hljs-number\">10000<\/span>,<span class=\"hljs-number\">1<\/span>,<span class=\"hljs-number\">1000<\/span>);<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-6\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">SQL (Structured Query Language)<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">sql<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Third, query data from the <code>t<\/code> table with different sort orders:<\/p>\n\n\n\n<p>Sort the values in both columns a and b in ascending order:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-7\" data-shcb-language-name=\"SQL (Structured Query Language)\" data-shcb-language-slug=\"sql\"><span><code class=\"hljs language-sql\"><span class=\"hljs-keyword\">EXPLAIN<\/span> <span class=\"hljs-keyword\">SELECT<\/span> \n    *\n<span class=\"hljs-keyword\">FROM<\/span>\n    t\n<span class=\"hljs-keyword\">ORDER<\/span> <span class=\"hljs-keyword\">BY<\/span> a , b; <span class=\"hljs-comment\">-- use index a_asc_b_asc<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-7\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">SQL (Structured Query Language)<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">sql<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Here is the output:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"707\" height=\"39\" src=\"https:\/\/www.mysqltutorial.org\/wp-content\/uploads\/2018\/08\/MySQL-Descending-Index-Example-1.png\" alt=\"MySQL Descending Index Example 1\" class=\"wp-image-6839\" srcset=\"https:\/\/www.mysqltutorial.org\/wp-content\/uploads\/2018\/08\/MySQL-Descending-Index-Example-1.png 707w, https:\/\/www.mysqltutorial.org\/wp-content\/uploads\/2018\/08\/MySQL-Descending-Index-Example-1-200x11.png 200w\" sizes=\"auto, (max-width: 707px) 100vw, 707px\" \/><\/figure>\n\n\n\n<p>Sort the values in the column\u00a0<code>a<\/code>\u00a0in ascending order and values in the column\u00a0<code>b<\/code>\u00a0in descending order:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-8\" data-shcb-language-name=\"SQL (Structured Query Language)\" data-shcb-language-slug=\"sql\"><span><code class=\"hljs language-sql\"><span class=\"hljs-keyword\">EXPLAIN<\/span> <span class=\"hljs-keyword\">SELECT<\/span> \n    *\n<span class=\"hljs-keyword\">FROM<\/span>\n    t\n<span class=\"hljs-keyword\">ORDER<\/span> <span class=\"hljs-keyword\">BY<\/span> a , b <span class=\"hljs-keyword\">DESC<\/span>; <span class=\"hljs-comment\">-- use index a_asc_b_desc<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-8\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">SQL (Structured Query Language)<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">sql<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>The output is:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"711\" height=\"37\" src=\"https:\/\/www.mysqltutorial.org\/wp-content\/uploads\/2018\/08\/MySQL-Descending-Index-Example-2.png\" alt=\"MySQL Descending Index Example 2\" class=\"wp-image-6840\" title=\"MySQL Descending Index Example 2\" srcset=\"https:\/\/www.mysqltutorial.org\/wp-content\/uploads\/2018\/08\/MySQL-Descending-Index-Example-2.png 711w, https:\/\/www.mysqltutorial.org\/wp-content\/uploads\/2018\/08\/MySQL-Descending-Index-Example-2-200x10.png 200w\" sizes=\"auto, (max-width: 711px) 100vw, 711px\" \/><\/figure>\n\n\n\n<p>Sort the values in the column\u00a0<code>a<\/code>\u00a0in descending order and values in the column \u00a0<code>b<\/code>\u00a0in ascending order:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-9\" data-shcb-language-name=\"SQL (Structured Query Language)\" data-shcb-language-slug=\"sql\"><span><code class=\"hljs language-sql\"><span class=\"hljs-keyword\">EXPLAIN<\/span> <span class=\"hljs-keyword\">SELECT<\/span> \n    *\n<span class=\"hljs-keyword\">FROM<\/span>\n    t\n<span class=\"hljs-keyword\">ORDER<\/span> <span class=\"hljs-keyword\">BY<\/span> a <span class=\"hljs-keyword\">DESC<\/span> , b; <span class=\"hljs-comment\">-- use index a_desc_b_asc<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-9\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">SQL (Structured Query Language)<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">sql<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>The following illustrates the output:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"710\" height=\"38\" src=\"https:\/\/www.mysqltutorial.org\/wp-content\/uploads\/2018\/08\/MySQL-Descending-Index-Example-3.png\" alt=\"MySQL Descending Index Example 3\" class=\"wp-image-6837\" title=\"MySQL Descending Index Example 3\" srcset=\"https:\/\/www.mysqltutorial.org\/wp-content\/uploads\/2018\/08\/MySQL-Descending-Index-Example-3.png 710w, https:\/\/www.mysqltutorial.org\/wp-content\/uploads\/2018\/08\/MySQL-Descending-Index-Example-3-200x11.png 200w\" sizes=\"auto, (max-width: 710px) 100vw, 710px\" \/><\/figure>\n\n\n\n<p>Sort the values in both columns <code>a<\/code> and <code>b<\/code> in descending order:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-10\" data-shcb-language-name=\"SQL (Structured Query Language)\" data-shcb-language-slug=\"sql\"><span><code class=\"hljs language-sql\"><span class=\"hljs-keyword\">EXPLAIN<\/span> <span class=\"hljs-keyword\">SELECT<\/span> \n    *\n<span class=\"hljs-keyword\">FROM<\/span>\n    t\n<span class=\"hljs-keyword\">ORDER<\/span> <span class=\"hljs-keyword\">BY<\/span> a <span class=\"hljs-keyword\">DESC<\/span> , b <span class=\"hljs-keyword\">DESC<\/span>; <span class=\"hljs-comment\">-- use index a_desc_b_desc<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-10\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">SQL (Structured Query Language)<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">sql<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>The following shows the output:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"717\" height=\"39\" src=\"https:\/\/www.mysqltutorial.org\/wp-content\/uploads\/2018\/08\/MySQL-Descending-Index-Example-4.png\" alt=\"MySQL Descending Index Example 4\" class=\"wp-image-6838\" title=\"MySQL Descending Index Example 4\" srcset=\"https:\/\/www.mysqltutorial.org\/wp-content\/uploads\/2018\/08\/MySQL-Descending-Index-Example-4.png 717w, https:\/\/www.mysqltutorial.org\/wp-content\/uploads\/2018\/08\/MySQL-Descending-Index-Example-4-200x11.png 200w\" sizes=\"auto, (max-width: 717px) 100vw, 717px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Summary<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use the MySQL descending index to improve query performance.<\/li>\n<\/ul>\n<div class=\"helpful-block-content\" data-title=\"\">\n\t<header>\n\t\t<div class=\"wth-question\">Was this tutorial helpful? <\/div>\n\t\t<div class=\"wth-thumbs\">\n\t\t\t<button\n\t\t\t\tdata-post=\"6836\"\n\t\t\t\tdata-post-url=\"https:\/\/www.mysqltutorial.org\/mysql-index\/mysql-descending-index\/\"\n\t\t\t\tdata-post-title=\"MySQL Descending Index\"\n\t\t\t\tdata-response=\"1\"\n\t\t\t\tclass=\"wth-btn-rounded wth-yes-btn\"\n\t\t\t>\n\t\t\t\t<svg\n\t\t\t\t\txmlns=\"http:\/\/www.w3.org\/2000\/svg\"\n\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\tclass=\"feather feather-thumbs-up block w-full h-full\"\n\t\t\t\t>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3\"\n\t\t\t\t\t><\/path>\n\t\t\t\t<\/svg>\n\t\t\t\t<span class=\"sr-only\"> Yes <\/span>\n\t\t\t<\/button>\n\n\t\t\t<button\n\t\t\t\tdata-response=\"0\"\n\t\t\t\tdata-post=\"6836\"\n\t\t\t\tdata-post-url=\"https:\/\/www.mysqltutorial.org\/mysql-index\/mysql-descending-index\/\"\n\t\t\t\tdata-post-title=\"MySQL Descending Index\"\n\t\t\t\tclass=\"wth-btn-rounded wth-no-btn\"\n\t\t\t>\n\t\t\t\t<svg\n\t\t\t\t\txmlns=\"http:\/\/www.w3.org\/2000\/svg\"\n\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M10 15v4a3 3 0 0 0 3 3l4-9V2H5.72a2 2 0 0 0-2 1.7l-1.38 9a2 2 0 0 0 2 2.3zm7-13h2.67A2.31 2.31 0 0 1 22 4v7a2.31 2.31 0 0 1-2.33 2H17\"\n\t\t\t\t\t><\/path>\n\t\t\t\t<\/svg>\n\t\t\t\t<span class=\"sr-only\"> No <\/span>\n\t\t\t<\/button>\n\t\t<\/div>\n\t<\/header>\n\n\t<div class=\"wth-form hidden\">\n\t\t<div class=\"wth-form-wrapper\">\n\t\t\t<div class=\"wth-title\"><\/div>\n\t\t\t\n\t\t\t<textarea class=\"wth-message\"><\/textarea>\n\n\t\t\t<button class=\"btn btn-primary wth-btn-submit\">Send<\/button>\n\t\t\t<button class=\"btn wth-btn-cancel\">Cancel<\/button>\n\t\t\n\t\t<\/div>\n\t<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>This tutorial introduces you to MySQL descending index and how to leverage it to increase the performance of queries.<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":6818,"menu_order":7,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-6836","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Leveraging MySQL Descending Index to Speed Up Queries<\/title>\n<meta name=\"description\" content=\"This tutorial introduces you to MySQL descending index and how to leverage it to increase the performance of queries.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.mysqltutorial.org\/mysql-index\/mysql-descending-index\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Leveraging MySQL Descending Index to Speed Up Queries\" \/>\n<meta property=\"og:description\" content=\"This tutorial introduces you to MySQL descending index and how to leverage it to increase the performance of queries.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mysqltutorial.org\/mysql-index\/mysql-descending-index\/\" \/>\n<meta property=\"og:site_name\" content=\"MySQL Tutorial\" \/>\n<meta property=\"article:modified_time\" content=\"2024-01-05T10:20:56+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.mysqltutorial.org\/wp-content\/uploads\/2018\/08\/MySQL-Descending-Index-Example-1.png\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.mysqltutorial.org\\\/mysql-index\\\/mysql-descending-index\\\/\",\"url\":\"https:\\\/\\\/www.mysqltutorial.org\\\/mysql-index\\\/mysql-descending-index\\\/\",\"name\":\"Leveraging MySQL Descending Index to Speed Up Queries\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mysqltutorial.org\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.mysqltutorial.org\\\/mysql-index\\\/mysql-descending-index\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mysqltutorial.org\\\/mysql-index\\\/mysql-descending-index\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.mysqltutorial.org\\\/wp-content\\\/uploads\\\/2018\\\/08\\\/MySQL-Descending-Index-Example-1.png\",\"datePublished\":\"2018-08-12T16:14:01+00:00\",\"dateModified\":\"2024-01-05T10:20:56+00:00\",\"description\":\"This tutorial introduces you to MySQL descending index and how to leverage it to increase the performance of queries.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.mysqltutorial.org\\\/mysql-index\\\/mysql-descending-index\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.mysqltutorial.org\\\/mysql-index\\\/mysql-descending-index\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.mysqltutorial.org\\\/mysql-index\\\/mysql-descending-index\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.mysqltutorial.org\\\/wp-content\\\/uploads\\\/2018\\\/08\\\/MySQL-Descending-Index-Example-1.png\",\"contentUrl\":\"https:\\\/\\\/www.mysqltutorial.org\\\/wp-content\\\/uploads\\\/2018\\\/08\\\/MySQL-Descending-Index-Example-1.png\",\"width\":707,\"height\":39,\"caption\":\"MySQL Descending Index Example 1\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.mysqltutorial.org\\\/mysql-index\\\/mysql-descending-index\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.mysqltutorial.org\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"MySQL Index\",\"item\":\"https:\\\/\\\/www.mysqltutorial.org\\\/mysql-index\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"MySQL Descending Index\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.mysqltutorial.org\\\/#website\",\"url\":\"https:\\\/\\\/www.mysqltutorial.org\\\/\",\"name\":\"MySQL Tutorial\",\"description\":\"A comprehensive MySQL Tutorial\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.mysqltutorial.org\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Leveraging MySQL Descending Index to Speed Up Queries","description":"This tutorial introduces you to MySQL descending index and how to leverage it to increase the performance of queries.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.mysqltutorial.org\/mysql-index\/mysql-descending-index\/","og_locale":"en_US","og_type":"article","og_title":"Leveraging MySQL Descending Index to Speed Up Queries","og_description":"This tutorial introduces you to MySQL descending index and how to leverage it to increase the performance of queries.","og_url":"https:\/\/www.mysqltutorial.org\/mysql-index\/mysql-descending-index\/","og_site_name":"MySQL Tutorial","article_modified_time":"2024-01-05T10:20:56+00:00","og_image":[{"url":"https:\/\/www.mysqltutorial.org\/wp-content\/uploads\/2018\/08\/MySQL-Descending-Index-Example-1.png","type":"","width":"","height":""}],"twitter_misc":{"Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.mysqltutorial.org\/mysql-index\/mysql-descending-index\/","url":"https:\/\/www.mysqltutorial.org\/mysql-index\/mysql-descending-index\/","name":"Leveraging MySQL Descending Index to Speed Up Queries","isPartOf":{"@id":"https:\/\/www.mysqltutorial.org\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.mysqltutorial.org\/mysql-index\/mysql-descending-index\/#primaryimage"},"image":{"@id":"https:\/\/www.mysqltutorial.org\/mysql-index\/mysql-descending-index\/#primaryimage"},"thumbnailUrl":"https:\/\/www.mysqltutorial.org\/wp-content\/uploads\/2018\/08\/MySQL-Descending-Index-Example-1.png","datePublished":"2018-08-12T16:14:01+00:00","dateModified":"2024-01-05T10:20:56+00:00","description":"This tutorial introduces you to MySQL descending index and how to leverage it to increase the performance of queries.","breadcrumb":{"@id":"https:\/\/www.mysqltutorial.org\/mysql-index\/mysql-descending-index\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.mysqltutorial.org\/mysql-index\/mysql-descending-index\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.mysqltutorial.org\/mysql-index\/mysql-descending-index\/#primaryimage","url":"https:\/\/www.mysqltutorial.org\/wp-content\/uploads\/2018\/08\/MySQL-Descending-Index-Example-1.png","contentUrl":"https:\/\/www.mysqltutorial.org\/wp-content\/uploads\/2018\/08\/MySQL-Descending-Index-Example-1.png","width":707,"height":39,"caption":"MySQL Descending Index Example 1"},{"@type":"BreadcrumbList","@id":"https:\/\/www.mysqltutorial.org\/mysql-index\/mysql-descending-index\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.mysqltutorial.org\/"},{"@type":"ListItem","position":2,"name":"MySQL Index","item":"https:\/\/www.mysqltutorial.org\/mysql-index\/"},{"@type":"ListItem","position":3,"name":"MySQL Descending Index"}]},{"@type":"WebSite","@id":"https:\/\/www.mysqltutorial.org\/#website","url":"https:\/\/www.mysqltutorial.org\/","name":"MySQL Tutorial","description":"A comprehensive MySQL Tutorial","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.mysqltutorial.org\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/www.mysqltutorial.org\/wp-json\/wp\/v2\/pages\/6836","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mysqltutorial.org\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.mysqltutorial.org\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.mysqltutorial.org\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mysqltutorial.org\/wp-json\/wp\/v2\/comments?post=6836"}],"version-history":[{"count":3,"href":"https:\/\/www.mysqltutorial.org\/wp-json\/wp\/v2\/pages\/6836\/revisions"}],"predecessor-version":[{"id":14277,"href":"https:\/\/www.mysqltutorial.org\/wp-json\/wp\/v2\/pages\/6836\/revisions\/14277"}],"up":[{"embeddable":true,"href":"https:\/\/www.mysqltutorial.org\/wp-json\/wp\/v2\/pages\/6818"}],"wp:attachment":[{"href":"https:\/\/www.mysqltutorial.org\/wp-json\/wp\/v2\/media?parent=6836"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}