zoukankan      html  css  js  c++  java
  • Index is slowing down the selecting actions

    Description the problem:
    Table size 30G, Ram size 16G
    mysql> select * from program_access_log where program_id between 1 and 4000;
    very slow
    Try to select the top 500,000 records:
    mysql> select * from program_access_log where id between 1 and 500000 and program_id between 1 and 4000;
    still very slow
    Analysis:
    MySQL cann't put this 30G table into Ram, it will read them from disk:
    mysql> select * from program_access_log where id between 1 and 500000 and program_id between 1 and 4000;
    MySQL will select the program_id between 1 and 4000 out coz it's smaller then try to find id between 1 and 500000, however the id column didn't store as sorted, so MySQL will read them from disk.
    Solutions:
    1. Partition: split program_id into different partitions
    2. Split tables: split table into smaller tables
    3. select * from program_access_log where id between 1 and 500000 and program_id between 1 and 15000000;
  • 相关阅读:
    C# 本质论 第三章 操作符和控制流
    LeetCode Online Judge 1. Two Sum
    C# 本质论 第二章 数据类型
    C# 本质论 第一章 C#概述
    TMDS代码
    `define `ifdef `elseif的巧妙使用
    加法器(行波与超前、全加与半加)
    DCI技术
    **标识符
    电容放置问题
  • 原文地址:https://www.cnblogs.com/buro79xxd/p/1682563.html
Copyright © 2011-2022 走看看