How to PARTITION a table in mysql? The Next CEO of Stack OverflowUnexplained InnoDB...

Is it ever safe to open a suspicious HTML file (e.g. email attachment)?

How to find image of a complex function with given constraints?

What was Carter Burke's job for "the company" in Aliens?

IC has pull-down resistors on SMBus lines?

Lucky Feat: How can "more than one creature spend a luck point to influence the outcome of a roll"?

Traveling with my 5 year old daughter (as the father) without the mother from Germany to Mexico

Is there a difference between "Fahrstuhl" and "Aufzug"?

What does "shotgun unity" refer to here in this sentence?

Does higher Oxidation/ reduction potential translate to higher energy storage in battery?

Can you teleport closer to a creature you are Frightened of?

Is French Guiana a (hard) EU border?

Why don't programming languages automatically manage the synchronous/asynchronous problem?

Would a grinding machine be a simple and workable propulsion system for an interplanetary spacecraft?

Why do we say 'Un seul M' and not 'Une seule M' even though M is a "consonne"

What flight has the highest ratio of timezone difference to flight time?

Can I board the first leg of the flight without having final country's visa?

Help understanding this unsettling image of Titan, Epimetheus, and Saturn's rings?

Why is the US ranked as #45 in Press Freedom ratings, despite its extremely permissive free speech laws?

It is correct to match light sources with the same color temperature?

Do I need to write [sic] when including a quotation with a number less than 10 that isn't written out?

How to Implement Deterministic Encryption Safely in .NET

My ex-girlfriend uses my Apple ID to login to her iPad, do I have to give her my Apple ID password to reset it?

Is it professional to write unrelated content in an almost-empty email?

Aggressive Under-Indexing and no data for missing index



How to PARTITION a table in mysql?



The Next CEO of Stack OverflowUnexplained InnoDB timeoutsAre two indexes needed?Finding rows for a specified date rangeCalculating employee's work timeAdding index to large mysql tablesSimple query is slow on 4M-rows tableNeed help improving sql query performanceHow to improve query count execution with mySql replicate?MySQL query taking too longselect MAX() from MySQL view (2x INNER JOIN) is slow












0















I read a lot of articles that PARTITIONing is not helpful in most cases. I believe it should speed up the queries in my case. I have a table with the structure of



CREATE TABLE pages
(
page_id int(11) unsigned NOT NULL AUTO_INCREMENT,
category_id smallint(5) unsigned,
title varchar(255),
created datetime,
updated datetime,
FOREIGN KEY(category_id) REFERENCES categories(category_id) ON DELETE CASCADE,
UNIQUE INDEX (category_id,title),
INDEX(title),
PRIMARY KEY(page_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_general_ci ROW_FORMAT=COMPRESSED


The table is close to 1 billion rows and 200-1000 category_id.



Almost all queries have category_id in it.



I consider PARTITIONing the table as



PARTITION BY KEY(category_id)
PARTITIONS 40; // between 20-50


Is it worthy?









share



























    0















    I read a lot of articles that PARTITIONing is not helpful in most cases. I believe it should speed up the queries in my case. I have a table with the structure of



    CREATE TABLE pages
    (
    page_id int(11) unsigned NOT NULL AUTO_INCREMENT,
    category_id smallint(5) unsigned,
    title varchar(255),
    created datetime,
    updated datetime,
    FOREIGN KEY(category_id) REFERENCES categories(category_id) ON DELETE CASCADE,
    UNIQUE INDEX (category_id,title),
    INDEX(title),
    PRIMARY KEY(page_id)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_general_ci ROW_FORMAT=COMPRESSED


    The table is close to 1 billion rows and 200-1000 category_id.



    Almost all queries have category_id in it.



    I consider PARTITIONing the table as



    PARTITION BY KEY(category_id)
    PARTITIONS 40; // between 20-50


    Is it worthy?









    share

























      0












      0








      0








      I read a lot of articles that PARTITIONing is not helpful in most cases. I believe it should speed up the queries in my case. I have a table with the structure of



      CREATE TABLE pages
      (
      page_id int(11) unsigned NOT NULL AUTO_INCREMENT,
      category_id smallint(5) unsigned,
      title varchar(255),
      created datetime,
      updated datetime,
      FOREIGN KEY(category_id) REFERENCES categories(category_id) ON DELETE CASCADE,
      UNIQUE INDEX (category_id,title),
      INDEX(title),
      PRIMARY KEY(page_id)
      ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_general_ci ROW_FORMAT=COMPRESSED


      The table is close to 1 billion rows and 200-1000 category_id.



      Almost all queries have category_id in it.



      I consider PARTITIONing the table as



      PARTITION BY KEY(category_id)
      PARTITIONS 40; // between 20-50


      Is it worthy?









      share














      I read a lot of articles that PARTITIONing is not helpful in most cases. I believe it should speed up the queries in my case. I have a table with the structure of



      CREATE TABLE pages
      (
      page_id int(11) unsigned NOT NULL AUTO_INCREMENT,
      category_id smallint(5) unsigned,
      title varchar(255),
      created datetime,
      updated datetime,
      FOREIGN KEY(category_id) REFERENCES categories(category_id) ON DELETE CASCADE,
      UNIQUE INDEX (category_id,title),
      INDEX(title),
      PRIMARY KEY(page_id)
      ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_general_ci ROW_FORMAT=COMPRESSED


      The table is close to 1 billion rows and 200-1000 category_id.



      Almost all queries have category_id in it.



      I consider PARTITIONing the table as



      PARTITION BY KEY(category_id)
      PARTITIONS 40; // between 20-50


      Is it worthy?







      mysql database-design innodb partitioning





      share












      share










      share



      share










      asked 2 mins ago









      GooglebotGooglebot

      1,565174268




      1,565174268






















          0






          active

          oldest

          votes












          Your Answer








          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "182"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdba.stackexchange.com%2fquestions%2f233632%2fhow-to-partition-a-table-in-mysql%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes
















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Database Administrators Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdba.stackexchange.com%2fquestions%2f233632%2fhow-to-partition-a-table-in-mysql%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          ORA-01691 (unable to extend lob segment) even though my tablespace has AUTOEXTEND onORA-01692: unable to...

          Always On Availability groups resolving state after failover - Remote harden of transaction...

          Circunscripción electoral de Guipúzcoa Referencias Menú de navegaciónLas claves del sistema electoral en...