SaigonTech Vault
Loại: knowledge-doc 2026-09-29 active #wiki-import

Điều kiện

DDL:

-- auto-generated definition
create table Webland
(
    Id              int auto_increment comment 'ID'
        primary key,
    SyubetuCd       char(2)          not null comment '種類',
    Chiiki          varchar(64)      null comment '地域',
    AreaCd          char(5)          null comment 'エリアコード',
    TodohukenCd     char(2)          null comment '都道府県コード',
    SikucyosonCd    char(3)          null comment '市区町村名',
    CyoCd           char(3)          null comment '地区名',
    MoyoriekiNm     varchar(64)      null comment '最寄駅:名称',
    MoyoriekiMin    decimal(3)       null comment '最寄駅:距離(分)',
    TorihikiKin     decimal(13)      null comment '取引価格(総額)',
    TsuboKin        decimal(9)       null comment '坪単価',
    Madori          varchar(64)      null comment '間取り',
    Menseki         decimal(8, 2)    null comment '面積(㎡)',
    TorihikiTan     varchar(64)      null comment '取引価格(㎡単価)',
    TochiKeijyo     varchar(64)      null comment '土地の形状',
    Maguchi         decimal(3, 1)    null comment '間口',
    NobeyukaMenseki decimal(8, 2)    null comment '延床面積(㎡)',
    ChikuY          int              null comment '建築年',
    KouzouNm        varchar(64)      null comment '建物の構造',
    Youto           varchar(64)      null comment '用途',
    Riyomokuteki    varchar(64)      null comment '今後の利用目的',
    ZenmenHoui      varchar(64)      null comment '前面道路:方位',
    ZenmenSyurui    varchar(64)      null comment '前面道路:種類',
    ZenmenHaba      decimal(3, 1)    null comment '前面道路:幅員(m)',
    ToshiKeikaku    varchar(64)      null comment '都市計画',
    Kenpei          decimal(3)       null comment '建ぺい率(%)',
    Youseki         decimal(4)       null comment '容積率(%)',
    TorihikiJiten   varchar(64)      null comment '取引時点',
    Kaisou          varchar(64)      null comment '改装',
    TorihikiJijyou  varchar(64)      null comment '取引の事情等',
    DelFlg          char default '0' null comment '削除フラグ',
    InputDate       datetime         null comment '登録日',
    InputName       varchar(30)      null comment '登録者',
    EditDate        datetime         null comment '更新日',
    EditName        varchar(30)      null comment '更新者',
    DeleteDate      datetime         null comment '削除日',
    DeleteName      varchar(30)      null comment '削除者'
)
    auto_increment = 304140;
  • Câu truy vấn cần tăng tốc

  • Lấy danh sách 100 records đầu tiên

SELECT *
FROM Webland
WHERE SyubetuCd = '01'
  AND DelFlg = 0
  AND DeleteDate IS NULL
  AND TodohukenCd = '01'
  AND SikucyosonCd = '101'
LIMIT 100;
  1. Thống kê
SELECT COUNT(*) as `count`,
       SUM(CASE WHEN `TorihikiKin` IS NULL THEN 0 ELSE `TorihikiKin` END) / SUM(CASE WHEN `TorihikiKin` IS NULL THEN 0 ELSE 1 END) as `avgPrice`,
       SUM(CASE WHEN `Menseki` IS NULL THEN 0 ELSE `Menseki` END) / SUM(CASE WHEN `Menseki` IS NULL THEN 0 ELSE 1 END) as `avgAcreage`,
       SUM(CASE WHEN `ChiKuY` IS NULL THEN 0 ELSE `ChiKuY` END) / SUM(CASE WHEN `ChiKuY` IS NULL THEN 0 ELSE 1 END) as `avgDate`
FROM `Webland`
WHERE `SyubetuCd` = '01'
  AND `DelFlg` = 0
  AND `DeleteDate` IS NULL
  AND `TodohukenCd` = '01'
  AND `SikucyosonCd` IN ('101', '102', '103', '104', '105', '106', '107', '108', '109', '110')
LIMIT 1;

Danh sách index đang xem xét

    1. Theo thứ tự điều kiện where của câu SQL cần tăng tốc
CREATE INDEX Webland_Index_2 ON `Webland` (`SyubetuCd`, `DelFlg`, `DeleteDate`, `TodohukenCd`, `SikucyosonCd`);
    1. Theo thứ tự điều kiện where nhưng Varchar type thì đưa ra phía trước
CREATE INDEX Webland_Index_3 ON `Webland` (`SyubetuCd`, `TodohukenCd`, `SikucyosonCd`, `DelFlg`, `DeleteDate`);
    1. Theo thứ tự điều kiện where nhưng Varchar type thì đưa ra phía sau
CREATE INDEX Webland_Index_1 ON `Webland` (`DelFlg`, `DeleteDate`, `SyubetuCd`, `TodohukenCd`, `SikucyosonCd`);
    1. Ý kiến khác

Lựa chọn

  • [ ] Chỉ index 1
  • [ ] Chỉ index 2
  • [ ] Chỉ index 3
  • [ ] index 1 và index 2
  • [ ] index 2 và index 3
  • [ ] index 3 và index 1
  • [ ] Ý kiến khác

Giải thích

To be continued.

Tham khảo

https://dev.mysql.com/doc/refman/8.0/en/optimization.html https://dev.mysql.com/doc/refman/8.0/en/mysql-indexes.html https://dev.mysql.com/doc/refman/8.0/en/explain-output.html#explain-join-types