ibd เชซเชพเช‡เชฒเชจเชพ เชฌเชพเช‡เชŸ-เชฌเชพเชฏ-เชฌเชพเช‡เชŸ เชตเชฟเชถเซเชฒเซ‡เชทเชฃเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชธเซเชŸเซเชฐเช•เซเชšเชฐ เชซเชพเช‡เชฒ เชตเชฟเชจเชพ XtraDB เช•เซ‹เชทเซเชŸเช•เซ‹เชฎเชพเช‚เชฅเซ€ เชกเซ‡เชŸเชพ เชชเซเชจเชƒเชชเซเชฐเชพเชชเซเชค เช•เชฐเชตเซ‹

ibd เชซเชพเช‡เชฒเชจเชพ เชฌเชพเช‡เชŸ-เชฌเชพเชฏ-เชฌเชพเช‡เชŸ เชตเชฟเชถเซเชฒเซ‡เชทเชฃเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชธเซเชŸเซเชฐเช•เซเชšเชฐ เชซเชพเช‡เชฒ เชตเชฟเชจเชพ XtraDB เช•เซ‹เชทเซเชŸเช•เซ‹เชฎเชพเช‚เชฅเซ€ เชกเซ‡เชŸเชพ เชชเซเชจเชƒเชชเซเชฐเชพเชชเซเชค เช•เชฐเชตเซ‹

เชชเซเชฐเชพเช—เซˆเชคเชฟเชนเชพเชธเชฟเช•

เชเชตเซเช‚ เชฌเชจเซเชฏเซเช‚ เช•เซ‡ เชธเชฐเซเชตเชฐ เชชเชฐ เชฐเซ‡เชจเซเชธเชฎเชตเซ‡เชฐ เชตเชพเชฏเชฐเชธ เชฆเซเชตเชพเชฐเชพ เชนเซเชฎเชฒเซ‹ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹, เชœเซ‡เชฃเซ‡ "เชญเชพเช—เซเชฏเชถเชพเชณเซ€ เช…เช•เชธเซเชฎเชพเชค" เชฆเซเชตเชพเชฐเชพ .ibd เชซเชพเช‡เชฒเซ‹ (innodb เช•เซ‹เชทเซเชŸเช•เซ‹เชจเซ€ เช•เชพเชšเซ€ เชกเซ‡เชŸเชพ เชซเชพเช‡เชฒเซ‹) เชจเซ‡ เช†เช‚เชถเชฟเช• เชฐเซ€เชคเซ‡ เช…เชธเซเชชเซƒเชถเซเชฏ เช›เซ‹เชกเซ€ เชฆเซ€เชงเซ€, เชชเชฐเช‚เชคเซ เชคเซ‡ เชœ เชธเชฎเชฏเซ‡ .fpm เชซเชพเช‡เชฒเซ‹เชจเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เชเชจเซเช•เซเชฐเชฟเชชเซเชŸ เช•เชฐเซ€ ( เชธเซเชŸเซเชฐเช•เซเชšเชฐ เชซเชพเช‡เชฒเซ‹). เช† เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, .idb เชจเซ‡ เชตเชฟเชญเชพเชœเชฟเชค เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡:

  • เชฎเชพเชจเช• เชธเชพเชงเชจเซ‹ เช…เชจเซ‡ เชฎเชพเชฐเซเช—เชฆเชฐเซเชถเชฟเช•เชพเช“ เชฆเซเชตเชพเชฐเชพ เชชเซเชจเชƒเชธเช‚เช—เซเชฐเชนเชจเซ‡ เช†เชงเซ€เชจ. เช†เชตเชพ เช•เชฟเชธเซเชธเชพเช“ เชฎเชพเชŸเซ‡, เชเช• เช‰เชคเซเชคเชฎ เช›เซ‡ banavu;
  • เช†เช‚เชถเชฟเช• เชฐเซ€เชคเซ‡ เชเชจเซเช•เซเชฐเชฟเชชเซเชŸเซ‡เชก เช•เซ‹เชทเซเชŸเช•เซ‹. เชฎเซ‹เชŸเซ‡ เชญเชพเช—เซ‡ เช† เชฎเซ‹เชŸเชพ เช•เซ‹เชทเซเชŸเช•เซ‹ เช›เซ‡, เชœเซ‡เชจเชพ เชฎเชพเชŸเซ‡ (เชœเซ‡เชฎ เชนเซเช‚ เชธเชฎเชœเซเช‚ เช›เซเช‚) เชนเซเชฎเชฒเชพเช–เซ‹เชฐเซ‹ เชชเชพเชธเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃ เชเชจเซเช•เซเชฐเชฟเชชเซเชถเชจ เชฎเชพเชŸเซ‡ เชชเซ‚เชฐเชคเซ€ RAM เชจเชฅเซ€;
  • เช เซ€เช• เช›เซ‡, เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เชเชจเซเช•เซเชฐเชฟเชชเซเชŸเซ‡เชก เช•เซ‹เชทเซเชŸเช•เซ‹ เชœเซ‡ เชชเซเชจเชƒเชธเซเชฅเชพเชชเชฟเชค เช•เชฐเซ€ เชถเช•เชพเชคเชพ เชจเชฅเซ€.

เช‡เชšเซเช›เชฟเชค เชเชจเซเช•เซ‹เชกเชฟเช‚เช— เชนเซ‡เช เชณ เช•เซ‹เชˆเชชเชฃ เชŸเซ‡เช•เซเชธเซเชŸ เชเชกเชฟเชŸเชฐเชฎเชพเช‚ เชคเซ‡เชจเซ‡ เช–เซ‹เชฒเซ€เชจเซ‡ (เชฎเชพเชฐเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚ เชคเซ‡ UTF8 เช›เซ‡) เช…เชจเซ‡ เชซเช•เซเชค เชŸเซ‡เช•เซเชธเซเชŸ เชซเซ€เชฒเซเชกเซเชธเชจเซ€ เชนเชพเชœเชฐเซ€ เชฎเชพเชŸเซ‡ เชซเชพเช‡เชฒเชจเซ‡ เชœเซ‹เชˆเชจเซ‡, เช•เซ‹เชทเซเชŸเช•เซ‹ เช•เชฏเชพ เชตเชฟเช•เชฒเซเชช เชธเชพเชฅเซ‡ เชธเช‚เชฌเช‚เชงเชฟเชค เช›เซ‡ เชคเซ‡ เชจเชฟเชฐเซเชงเชพเชฐเชฟเชค เช•เชฐเชตเซเช‚ เชถเช•เซเชฏ เชนเชคเซเช‚, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡:

ibd เชซเชพเช‡เชฒเชจเชพ เชฌเชพเช‡เชŸ-เชฌเชพเชฏ-เชฌเชพเช‡เชŸ เชตเชฟเชถเซเชฒเซ‡เชทเชฃเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชธเซเชŸเซเชฐเช•เซเชšเชฐ เชซเชพเช‡เชฒ เชตเชฟเชจเชพ XtraDB เช•เซ‹เชทเซเชŸเช•เซ‹เชฎเชพเช‚เชฅเซ€ เชกเซ‡เชŸเชพ เชชเซเชจเชƒเชชเซเชฐเชพเชชเซเชค เช•เชฐเชตเซ‹

เช‰เชชเชฐเชพเช‚เชค, เชซเชพเช‡เชฒเชจเซ€ เชถเชฐเซ‚เช†เชคเชฎเชพเช‚ เชคเชฎเซ‡ เชฎเซ‹เชŸเซ€ เชธเช‚เช–เซเชฏเชพเชฎเชพเช‚ 0 เชฌเชพเช‡เชŸเซเชธเชจเซเช‚ เช…เชตเชฒเซ‹เช•เชจ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹, เช…เชจเซ‡ เชตเชพเชฏเชฐเชธ เช•เซ‡ เชœเซ‡ เชฌเซเชฒเซ‹เช• เชเชจเซเช•เซเชฐเชฟเชชเซเชถเชจ เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡ (เชธเซŒเชฅเซ€ เชธเชพเชฎเชพเชจเซเชฏ) เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เชคเซ‡เชฎเชจเซ‡ เชชเชฃ เช…เชธเชฐ เช•เชฐเซ‡ เช›เซ‡.
ibd เชซเชพเช‡เชฒเชจเชพ เชฌเชพเช‡เชŸ-เชฌเชพเชฏ-เชฌเชพเช‡เชŸ เชตเชฟเชถเซเชฒเซ‡เชทเชฃเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชธเซเชŸเซเชฐเช•เซเชšเชฐ เชซเชพเช‡เชฒ เชตเชฟเชจเชพ XtraDB เช•เซ‹เชทเซเชŸเช•เซ‹เชฎเชพเช‚เชฅเซ€ เชกเซ‡เชŸเชพ เชชเซเชจเชƒเชชเซเชฐเชพเชชเซเชค เช•เชฐเชตเซ‹

เชฎเชพเชฐเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เชนเซเชฎเชฒเชพเช–เซ‹เชฐเซ‹เช เชฆเชฐเซ‡เช• เชเชจเซเช•เซเชฐเชฟเชชเซเชŸเซ‡เชก เชซเชพเช‡เชฒเชจเชพ เช…เช‚เชคเซ‡ 4-เชฌเชพเช‡เชŸ เชธเซเชŸเซเชฐเชฟเช‚เช— (1, 0, 0, 0) เช›เซ‹เชกเซ€ เชฆเซ€เชงเซ€, เชœเซ‡เชฃเซ‡ เช•เชพเชฐเซเชฏเชจเซ‡ เชธเชฐเชณ เชฌเชจเชพเชตเซเชฏเซเช‚. เชฌเชฟเชจเชธเช‚เช•เซเชฐเชฎเชฟเชค เชซเชพเช‡เชฒเซ‹ เชถเซ‹เชงเชตเชพ เชฎเชพเชŸเซ‡, เชธเซเช•เซเชฐเชฟเชชเซเชŸ เชชเซ‚เชฐเชคเซ€ เชนเชคเซ€:

def opened(path):
    files = os.listdir(path)
    for f in files:
        if os.path.isfile(path + f):
            yield path + f

for full_path in opened("C:somepath"):
    file = open(full_path, "rb")
    last_string = ""
    for line in file:
        last_string = line
        file.close()
    if (last_string[len(last_string) -4:len(last_string)]) != (1, 0, 0, 0):
        print(full_path)

เช†เชฎ, เชคเซ‡ เชชเซเชฐเชฅเชฎ เชชเซเชฐเช•เชพเชฐเชจเซ€ เชซเชพเช‡เชฒเซ‹ เชถเซ‹เชงเชตเชพเชจเซเช‚ เชฌเชนเชพเชฐ เช†เชตเซเชฏเซเช‚. เชฌเซ€เชœเชพเชฎเชพเช‚ เช˜เชฃเชพเช‚ เชฎเซ‡เชจเซเชฏเซเช…เชฒ เชตเชฐเซเช•เชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡, เชชเชฐเช‚เชคเซ เชœเซ‡ เชฎเชณเซเชฏเซเช‚ เชคเซ‡ เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เชชเซ‚เชฐเชคเซเช‚ เชนเชคเซเช‚. เชฌเชงเซเช‚ เชธเชพเชฐเซเช‚ เชฐเชนเซ‡เชถเซ‡, เชชเชฐเช‚เชคเซ เชคเชฎเชพเชฐเซ‡ เชœเชพเชฃเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เชเช•เชฆเชฎ เชšเซ‹เช•เซเช•เชธ เชฎเชพเชณเช–เซเช‚ เช…เชจเซ‡ (เช…เชฒเชฌเชคเซเชค) เชเช• เช•เชฟเชธเซเชธเซ‹ เช‰เชญเซ‹ เชฅเชฏเซ‹ เช•เซ‡ เชฎเชพเชฐเซ‡ เชตเชพเชฐเช‚เชตเชพเชฐ เชฌเชฆเชฒเชพเชคเชพ เชŸเซ‡เชฌเชฒ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเซเช‚ เชชเชกเซเชฏเซเช‚. เชซเซ€เชฒเซเชกเชจเซ‹ เชชเซเชฐเช•เชพเชฐ เชฌเชฆเชฒเชพเชฏเซ‹ เชนเชคเซ‹ เช•เซ‡ เชจเชตเซ€ เช•เซ‰เชฒเชฎ เช‰เชฎเซ‡เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชนเชคเซ€ เชคเซ‡ เช•เซ‹เชˆเชจเซ‡ เชฏเชพเชฆ เชจเชฅเซ€.

เชตเชพเช‡เชฒเซเชก เชธเชฟเชŸเซ€, เช•เชฎเชจเชธเซ€เชฌเซ‡, เช†เชตเชพ เช•เซ‡เชธเชฎเชพเช‚ เชฎเชฆเชฆ เช•เชฐเซ€ เชถเช•เซเชฏเซเช‚ เชจเชฅเซ€, เชคเซ‡เชฅเซ€ เชœ เช† เชฒเซ‡เช– เชฒเช–เชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชฐเชนเซเชฏเซ‹ เช›เซ‡.

เชฎเซเชฆเซเชฆเชพ เชชเชฐ เชฎเซ‡เชณเชตเซ‹

3 เชฎเชนเชฟเชจเชพ เชชเชนเซ‡เชฒเชพเชจเซเช‚ เชŸเซ‡เชฌเชฒเชจเซเช‚ เชฎเชพเชณเช–เซเช‚ เช›เซ‡ เชœเซ‡ เชตเชฐเซเชคเชฎเชพเชจ เชธเชพเชฅเซ‡ เชฎเซ‡เชณ เช–เชพเชคเซเช‚ เชจเชฅเซ€ (เช•เชฆเชพเชš เชเช• เชซเซ€เชฒเซเชก, เช…เชจเซ‡ เช•เชฆเชพเชš เชตเชงเซ). เช•เซ‹เชทเซเชŸเช• เชฎเชพเชณเช–เซเช‚:

CREATE TABLE `table_1` (
    `id` INT (11),
    `date` DATETIME ,
    `description` TEXT ,
    `id_point` INT (11),
    `id_user` INT (11),
    `date_start` DATETIME ,
    `date_finish` DATETIME ,
    `photo` INT (1),
    `id_client` INT (11),
    `status` INT (1),
    `lead__time` TIME ,
    `sendstatus` TINYINT (4)
); 

เช† เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เชคเชฎเชพเชฐเซ‡ เชฌเชนเชพเชฐ เช•เชพเชขเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡:

  • id_point int(11);
  • id_user int(11);
  • date_start เชคเชพเชฐเซ€เช– เชธเชฎเชฏ;
  • date_finish เชคเชพเชฐเซ€เช– เชธเชฎเชฏ.

เชชเซเชจเชƒเชชเซเชฐเชพเชชเซเชคเชฟ เชฎเชพเชŸเซ‡, .ibd เชซเชพเช‡เชฒเชจเชพ เชฌเชพเช‡เชŸ-เชฌเชพเชฏ-เชฌเชพเช‡เชŸ เชตเชฟเชถเซเชฒเซ‡เชทเชฃเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชคเซเชฏเชพเชฐเชฌเชพเชฆ เชคเซ‡เชจเซ‡ เชตเชงเซ เชตเชพเช‚เชšเซ€ เชถเช•เชพเชฏ เชคเซ‡เชตเชพ เชธเซเชตเชฐเซ‚เชชเชฎเชพเช‚ เชฐเซ‚เชชเชพเช‚เชคเชฐเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เช…เชฎเชจเซ‡ เชœเซ‡ เชœเซ‹เชˆเช เช›เซ‡ เชคเซ‡ เชถเซ‹เชงเชตเชพ เชฎเชพเชŸเซ‡, เช…เชฎเชพเชฐเซ‡ เชซเช•เซเชค เช‡เชจเซเชŸ เช…เชจเซ‡ เชกเซ‡เชŸเชพเชŸเชพเช‡เชฎ เชœเซ‡เชตเชพ เชกเซ‡เชŸเชพ เชชเซเชฐเช•เชพเชฐเซ‹เชจเซเช‚ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡, เชฒเซ‡เช– เชซเช•เซเชค เชคเซ‡เชจเซเช‚ เชœ เชตเชฐเซเชฃเชจ เช•เชฐเชถเซ‡, เชชเชฐเช‚เชคเซ เช•เซ‡เชŸเชฒเซ€เช•เชตเชพเชฐ เช…เชฎเซ‡ เช…เชจเซเชฏ เชกเซ‡เชŸเชพ เชชเซเชฐเช•เชพเชฐเซ‹เชจเซ‹ เชชเชฃ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเซ€เชถเซเช‚, เชœเซ‡ เช…เชจเซเชฏ เชธเชฎเชพเชจ เช˜เชŸเชจเชพเช“เชฎเชพเช‚ เชฎเชฆเชฆ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡.

เชธเชฎเชธเซเชฏเชพ 1: DATETIME เช…เชจเซ‡ TEXT เชชเซเชฐเช•เชพเชฐเซ‹ เชธเชพเชฅเซ‡เชจเชพ เช•เซเชทเซ‡เชคเซเชฐเซ‹เชฎเชพเช‚ NULL เชฎเซ‚เชฒเซเชฏเซ‹ เชนเชคเชพ, เช…เชจเซ‡ เชคเซ‡ เชซเชพเช‡เชฒเชฎเชพเช‚ เช–เชพเชฒเซ€ เช›เซ‹เชกเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เช›เซ‡, เช† เช•เชพเชฐเชฃเซ‡, เชฎเชพเชฐเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚ เชชเซเชจเชƒเชธเซเชฅเชพเชชเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡เชจเซเช‚ เชฎเชพเชณเช–เซเช‚ เชจเช•เซเช•เซ€ เช•เชฐเชตเซเช‚ เชถเช•เซเชฏ เชจ เชนเชคเซเช‚. เชจเชตเซ€ เช•เซ‰เชฒเชฎเซเชธเชฎเชพเช‚, เชกเชฟเชซเซ‰เชฒเซเชŸ เชฎเซ‚เชฒเซเชฏ เชถเซ‚เชจเซเชฏ เชนเชคเซเช‚, เช…เชจเซ‡ innodb_flush_log_at_trx_commit = 0 เชธเซ‡เชŸเชฟเช‚เช—เชจเซ‡ เช•เชพเชฐเชฃเซ‡ เชตเซเชฏเชตเชนเชพเชฐเชจเซ‹ เชญเชพเช— เช–เซ‹เชตเชพเชˆ เชถเช•เซ‡ เช›เซ‡, เชคเซ‡เชฅเซ€ เชฎเชพเชณเช–เซเช‚ เชจเช•เซเช•เซ€ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชตเชงเชพเชฐเชพเชจเซ‹ เชธเชฎเชฏ เชชเชธเชพเชฐ เช•เชฐเชตเซ‹ เชชเชกเชถเซ‡.

เชธเชฎเชธเซเชฏเชพ 2: เชคเซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ‡เชตเซเช‚ เชœเซ‹เชˆเช เช•เซ‡ DELETE เชฆเซเชตเชพเชฐเชพ เช•เชพเชขเซ€ เชจเชพเช–เชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒเซ€ เชชเช‚เช•เซเชคเชฟเช“ เชคเชฎเชพเชฎ ibd เชซเชพเช‡เชฒเชฎเชพเช‚ เชนเชถเซ‡, เชชเชฐเช‚เชคเซ ALTER TABLE เชธเชพเชฅเซ‡ เชคเซ‡เชฎเชจเซเช‚ เชฎเชพเชณเช–เซเช‚ เช…เชชเชกเซ‡เชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡ เชจเชนเซ€เช‚. เชชเชฐเชฟเชฃเชพเชฎเซ‡, เชกเซ‡เชŸเชพ เชฎเชพเชณเช–เซเช‚ เชซเชพเช‡เชฒเชจเซ€ เชถเชฐเซ‚เช†เชคเชฅเซ€ เชคเซ‡เชจเชพ เช…เช‚เชค เชธเซเชงเซ€ เชฌเชฆเชฒเชพเชˆ เชถเช•เซ‡ เช›เซ‡. เชœเซ‹ เชคเชฎเซ‡ เชตเชพเชฐเช‚เชตเชพเชฐ OPTIMIZE TABLE เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹ เช›เซ‹, เชคเซ‹ เชชเช›เซ€ เชคเชฎเชจเซ‡ เช†เชตเซ€ เชธเชฎเชธเซเชฏเชพ เช†เชตเชตเชพเชจเซ€ เชถเช•เซเชฏเชคเชพ เชจเชฅเซ€.

เชงเซเชฏเชพเชจ เช†เชชเซ‹, DBMS เชธเช‚เชธเซเช•เชฐเชฃ เชกเซ‡เชŸเชพ เชธเช‚เช—เซเชฐเชนเชฟเชค เช•เชฐเชตเชพเชจเซ€ เชฐเซ€เชคเชจเซ‡ เช…เชธเชฐ เช•เชฐเซ‡ เช›เซ‡, เช…เชจเซ‡ เช† เช‰เชฆเชพเชนเชฐเชฃ เช…เชจเซเชฏ เชฎเซเช–เซเชฏ เชธเช‚เชธเซเช•เชฐเชฃเซ‹ เชฎเชพเชŸเซ‡ เช•เชพเชฎ เช•เชฐเชคเซเช‚ เชจเชฅเซ€. เชฎเชพเชฐเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, mariadb 10.1.24 เชจเชพ เชตเชฟเชจเซเชกเซ‹เช เชตเชฐเซเชเชจเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชนเชคเซ‹. เช‰เชชเชฐเชพเช‚เชค, เชœเซ‹ เช•เซ‡ mariadb เชฎเชพเช‚ เชคเชฎเซ‡ InnoDB เช•เซ‹เชทเซเชŸเช•เซ‹ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเซ‹ เช›เซ‹, เชนเช•เซ€เช•เชคเชฎเชพเช‚ เชคเซ‡ เช›เซ‡ เชเช•เซเชธเชŸเซเชฐเชพเชกเซ€เชฌเซ€, เชœเซ‡ InnoDB mysql เชธเชพเชฅเซ‡ เชชเชฆเซเชงเชคเชฟเชจเซ€ เชฒเชพเช—เซเชคเชพเชจเซ‡ เชฌเชพเช•เชพเชค เชฐเชพเช–เซ‡ เช›เซ‡.

เชซเชพเช‡เชฒ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ

เชชเชพเชฏเชฅเซ‹เชจเชฎเชพเช‚, เชกเซ‡เชŸเชพ เชชเซเชฐเช•เชพเชฐ เชฌเชพเช‡เชŸเซเชธ() เชธเช‚เช–เซเชฏเชพเช“เชจเชพ เชจเชฟเชฏเชฎเชฟเชค เชธเชฎเซ‚เชนเชจเซ€ เชœเช—เซเชฏเชพเช เชฏเซเชจเชฟเช•เซ‹เชก เชกเซ‡เชŸเชพ เชฆเชฐเซเชถเชพเชตเซ‡ เช›เซ‡. เชœเซ‹ เช•เซ‡ เชคเชฎเซ‡ เช† เชซเซ‹เชฐเซเชฎเชฎเชพเช‚ เชซเชพเชˆเชฒ เชœเซ‹เชˆ เชถเช•เซ‹ เช›เซ‹, เชธเซเชตเชฟเชงเชพ เชฎเชพเชŸเซ‡ เชคเชฎเซ‡ เชฌเชพเชˆเชŸ เชเชฐเซ‡เชจเซ‡ เชจเชฟเชฏเชฎเชฟเชค เชเชฐเซ‡ (เชธเซ‚เชšเชฟ(example_byte_array))เชฎเชพเช‚ เชฐเซ‚เชชเชพเช‚เชคเชฐเชฟเชค เช•เชฐเซ€เชจเซ‡ เชฌเชพเชˆเชŸเชจเซ‡ เช†เช‚เช•เชกเชพเช•เซ€เชฏ เชธเซเชตเชฐเซ‚เชชเชฎเชพเช‚ เชฐเซ‚เชชเชพเช‚เชคเชฐเชฟเชค เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. เช•เซ‹เชˆเชชเชฃ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เชฌเช‚เชจเซ‡ เชชเชฆเซเชงเชคเชฟเช“ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เชฎเชพเชŸเซ‡ เชฏเซ‹เช—เซเชฏ เช›เซ‡.

เช˜เชฃเซ€ ibd เชซเชพเช‡เชฒเซ‹ เชœเซ‹เชฏเชพ เชชเช›เซ€, เชคเชฎเซ‡ เชจเซ€เชšเซ‡เชจเซ€ เชถเซ‹เชงเซ€ เชถเช•เซ‹ เช›เซ‹:

ibd เชซเชพเช‡เชฒเชจเชพ เชฌเชพเช‡เชŸ-เชฌเชพเชฏ-เชฌเชพเช‡เชŸ เชตเชฟเชถเซเชฒเซ‡เชทเชฃเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชธเซเชŸเซเชฐเช•เซเชšเชฐ เชซเชพเช‡เชฒ เชตเชฟเชจเชพ XtraDB เช•เซ‹เชทเซเชŸเช•เซ‹เชฎเชพเช‚เชฅเซ€ เชกเซ‡เชŸเชพ เชชเซเชจเชƒเชชเซเชฐเชพเชชเซเชค เช•เชฐเชตเซ‹

เชคเชฆเซเชชเชฐเชพเช‚เชค, เชœเซ‹ เชคเชฎเซ‡ เช† เช•เซ€เชตเชฐเซเชกเซเชธ เชฆเซเชตเชพเชฐเชพ เชซเชพเช‡เชฒเชจเซ‡ เชตเชฟเชญเชพเชœเซ€เชค เช•เชฐเซ‹ เช›เซ‹, เชคเซ‹ เชคเชฎเชจเซ‡ เชฎเซ‹เชŸเชพเชญเชพเช—เซ‡ เชกเซ‡เชŸเชพเชจเชพ เชฌเซเชฒเซ‹เช•เซเชธ เชชเชฃ เชฎเชณเชถเซ‡. เช…เชฎเซ‡ เชตเชฟเชญเชพเชœเช• เชคเชฐเซ€เช•เซ‡ infimum เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชถเซเช‚.

table = table.split("infimum".encode())

เชเช• เชฐเชธเชชเซเชฐเชฆ เช…เชตเชฒเซ‹เช•เชจ: เชจเชพเชจเซ€ เชฎเชพเชคเซเชฐเชพเชฎเชพเช‚ เชกเซ‡เชŸเชพ เชธเชพเชฅเซ‡เชจเชพ เช•เซ‹เชทเซเชŸเช•เซ‹ เชฎเชพเชŸเซ‡, เช‡เชจเซเชซเชฟเชฎเชฎ เช…เชจเซ‡ เชธเชฐเซเชตเซ‹เชšเซเชš เชตเชšเซเชšเซ‡ เชฌเซเชฒเซ‹เช•เชฎเชพเช‚ เชชเช‚เช•เซเชคเชฟเช“เชจเซ€ เชธเช‚เช–เซเชฏเชพ เชฎเชพเชŸเซ‡ เชจเชฟเชฐเซเชฆเซ‡เชถเช• เช›เซ‡.

ibd เชซเชพเช‡เชฒเชจเชพ เชฌเชพเช‡เชŸ-เชฌเชพเชฏ-เชฌเชพเช‡เชŸ เชตเชฟเชถเซเชฒเซ‡เชทเชฃเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชธเซเชŸเซเชฐเช•เซเชšเชฐ เชซเชพเช‡เชฒ เชตเชฟเชจเชพ XtraDB เช•เซ‹เชทเซเชŸเช•เซ‹เชฎเชพเช‚เชฅเซ€ เชกเซ‡เชŸเชพ เชชเซเชจเชƒเชชเซเชฐเชพเชชเซเชค เช•เชฐเชตเซ‹ - 1เชฒเซ€ เชชเช‚เช•เซเชคเชฟ เชธเชพเชฅเซ‡เชจเซเช‚ เชชเชฐเซ€เช•เซเชทเชฃ เชŸเซ‡เชฌเชฒ

ibd เชซเชพเช‡เชฒเชจเชพ เชฌเชพเช‡เชŸ-เชฌเชพเชฏ-เชฌเชพเช‡เชŸ เชตเชฟเชถเซเชฒเซ‡เชทเชฃเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชธเซเชŸเซเชฐเช•เซเชšเชฐ เชซเชพเช‡เชฒ เชตเชฟเชจเชพ XtraDB เช•เซ‹เชทเซเชŸเช•เซ‹เชฎเชพเช‚เชฅเซ€ เชกเซ‡เชŸเชพ เชชเซเชจเชƒเชชเซเชฐเชพเชชเซเชค เช•เชฐเชตเซ‹ - 2 เชชเช‚เช•เซเชคเชฟเช“ เชธเชพเชฅเซ‡เชจเซเช‚ เชชเชฐเซ€เช•เซเชทเชฃ เชŸเซ‡เชฌเชฒ

เชชเช‚เช•เซเชคเชฟ เชเชฐเซ‡ เช•เซ‹เชทเซเชŸเช•[0] เช›เซ‹เชกเซ€ เชถเช•เชพเชฏ เช›เซ‡. เชคเซ‡ เชœเซ‹เชฏเชพ เชชเช›เซ€, เชนเซเช‚ เชนเชœเซ€ เชชเชฃ เช•เชพเชšเซ‹ เชŸเซ‡เชฌเชฒ เชกเซ‡เชŸเชพ เชถเซ‹เชงเซ€ เชถเช•เซเชฏเซ‹ เชจ เชนเชคเซ‹. เชฎเซ‹เชŸเซ‡ เชญเชพเช—เซ‡, เช† เชฌเซเชฒเซ‹เช•เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช‡เชจเซเชกเซ‡เช•เซเชธ เช…เชจเซ‡ เช•เซ€ เชธเซเชŸเซ‹เชฐ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡.
เช•เซ‹เชทเซเชŸเช•[1] เชฅเซ€ เชถเชฐเซ‚ เช•เชฐเซ€เชจเซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เช†เช‚เช•เชกเชพเช•เซ€เชฏ เชเชฐเซ‡เชฎเชพเช‚ เชญเชพเชทเชพเช‚เชคเชฐ เช•เชฐเซ€เชจเซ‡, เชคเชฎเซ‡ เชชเชนเซ‡เชฒเชพเชฅเซ€ เชœ เช•เซ‡เชŸเชฒเซ€เช• เชชเซ‡เชŸเชฐเซเชจ เชจเซ‹เช‚เชงเซ€ เชถเช•เซ‹ เช›เซ‹, เชœเซ‡เชฎ เช•เซ‡:

ibd เชซเชพเช‡เชฒเชจเชพ เชฌเชพเช‡เชŸ-เชฌเชพเชฏ-เชฌเชพเช‡เชŸ เชตเชฟเชถเซเชฒเซ‡เชทเชฃเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชธเซเชŸเซเชฐเช•เซเชšเชฐ เชซเชพเช‡เชฒ เชตเชฟเชจเชพ XtraDB เช•เซ‹เชทเซเชŸเช•เซ‹เชฎเชพเช‚เชฅเซ€ เชกเซ‡เชŸเชพ เชชเซเชจเชƒเชชเซเชฐเชพเชชเซเชค เช•เชฐเชตเซ‹

เช† เชเช• เชถเชฌเซเชฆเชฎเชพเชณเชพเชฎเชพเช‚ เชธเช‚เช—เซเชฐเชนเชฟเชค เชชเซ‚เชฐเซเชฃเชพเช‚เช• เชฎเซ‚เชฒเซเชฏเซ‹ เช›เซ‡. เชชเซเชฐเชฅเชฎ เชฌเชพเชˆเชŸ เชธเซ‚เชšเชตเซ‡ เช›เซ‡ เช•เซ‡ เชธเช‚เช–เซเชฏเชพ เชนเช•เชพเชฐเชพเชคเซเชฎเช• เช›เซ‡ เช•เซ‡ เชจเช•เชพเชฐเชพเชคเซเชฎเช•. เชฎเชพเชฐเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เชฌเชงเซ€ เชธเช‚เช–เซเชฏเชพเช“ เชนเช•เชพเชฐเชพเชคเซเชฎเช• เช›เซ‡. เชฌเชพเช•เซ€เชจเชพ 3 เชฌเชพเช‡เชŸเซเชธเชฎเชพเช‚เชฅเซ€, เชคเชฎเซ‡ เชจเซ€เชšเซ‡เชจเชพ เชซเช‚เช•เซเชถเชจเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชจเช‚เชฌเชฐ เชจเช•เซเช•เซ€ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. เชธเซเช•เซเชฐเชฟเชชเซเชŸ:

def find_int(val: str):  # example '128, 1, 2, 3'
    val = [int(v) for v in  val.split(", ")]
    result_int = val[1]*256**2 + val[2]*256*1 + val[3]
    return result_int

เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, 128, 0, 0, 1 = 1, เช…เชฅเชตเชพ 128, 0, 75, 108 = 19308.
เช•เซ‹เชทเซเชŸเช•เชฎเชพเช‚ เชธเซเชตเชคเชƒ เชตเซƒเชฆเซเชงเชฟ เชธเชพเชฅเซ‡ เชชเซเชฐเชพเชฅเชฎเชฟเช• เช•เซ€ เชนเชคเซ€, เช…เชจเซ‡ เชคเซ‡ เช…เชนเซ€เช‚ เชชเชฃ เชฎเชณเซ€ เชถเช•เซ‡ เช›เซ‡

ibd เชซเชพเช‡เชฒเชจเชพ เชฌเชพเช‡เชŸ-เชฌเชพเชฏ-เชฌเชพเช‡เชŸ เชตเชฟเชถเซเชฒเซ‡เชทเชฃเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชธเซเชŸเซเชฐเช•เซเชšเชฐ เชซเชพเช‡เชฒ เชตเชฟเชจเชพ XtraDB เช•เซ‹เชทเซเชŸเช•เซ‹เชฎเชพเช‚เชฅเซ€ เชกเซ‡เชŸเชพ เชชเซเชจเชƒเชชเซเชฐเชพเชชเซเชค เช•เชฐเชตเซ‹

เชชเชฐเซ€เช•เซเชทเชฃ เช•เซ‹เชทเซเชŸเช•เซ‹เชฎเชพเช‚เชฅเซ€ เชกเซ‡เชŸเชพเชจเซ€ เชคเซเชฒเชจเชพ เช•เชฐเซเชฏเชพ เชชเช›เซ€, เชคเซ‡ เชฌเชนเชพเชฐ เช†เชตเซเชฏเซเช‚ เช•เซ‡ DATETIME เช‘เชฌเซเชœเซ‡เช•เซเชŸ 5 เชฌเชพเช‡เชŸเซเชธ เชงเชฐเชพเชตเซ‡ เช›เซ‡ เช…เชจเซ‡ 153 (เชฎเซ‹เชŸเชพ เชญเชพเช—เซ‡ เชตเชพเชฐเซเชทเชฟเช• เช…เช‚เชคเชฐเชพเชฒเซ‹ เชธเซ‚เชšเชตเซ‡ เช›เซ‡) เชฅเซ€ เชถเชฐเซ‚ เชฅเชพเชฏ เช›เซ‡. DATTIME เชฐเซ‡เชจเซเชœ '1000-01-01' เชฅเซ€ '9999-12-31' เชนเซ‹เชตเชพเชฅเซ€, เชฎเชจเซ‡ เชฒเชพเช—เซ‡ เช›เซ‡ เช•เซ‡ เชฌเชพเชˆเชŸเชจเซ€ เชธเช‚เช–เซเชฏเชพ เช…เชฒเช— เช…เชฒเช— เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เชฎเชพเชฐเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เชกเซ‡เชŸเชพ 2016 เชฅเซ€ 2019 เชจเชพ เชธเชฎเชฏเช—เชพเชณเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชคเซ‡เชฅเซ€ เช…เชฎเซ‡ เชงเชพเชฐเซ€เชถเซเช‚ เชคเซ‡ 5 เชฌเชพเช‡เชŸเซเชธ เชชเชฐเซเชฏเชพเชชเซเชค เช›เซ‡.

เชธเซ‡เช•เชจเซเชก เชตเชฟเชจเชพ เชธเชฎเชฏ เชจเช•เซเช•เซ€ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชจเซ€เชšเซ‡เชจเชพ เช•เชพเชฐเซเชฏเซ‹ เชฒเช–เชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เชนเชคเชพ. เชธเซเช•เซเชฐเชฟเชชเซเชŸ:

day_ = lambda x: x % 64 // 2  # {x,x,X,x,x }

def hour_(x1, x2):  # {x,x,X1,X2,x}
    if x1 % 2 == 0:
        return x2 // 16
    elif x1 % 2 == 1:
        return x2 // 16 + 16
    else:
        raise ValueError

min_ = lambda x1, x2: (x1 % 16) * 4 + (x2 // 64)  # {x,x,x,X1,X2}

เชตเชฐเซเชท เช…เชจเซ‡ เชฎเชนเชฟเชจเชพ เชฎเชพเชŸเซ‡ เช•เชพเชฐเซเชฏเชพเชคเซเชฎเช• เช•เชพเชฐเซเชฏ เชฒเช–เชตเซเช‚ เชถเช•เซเชฏ เชจ เชนเชคเซเช‚, เชคเซ‡เชฅเซ€ เชฎเชพเชฐเซ‡ เชคเซ‡เชจเซ‡ เชนเซ‡เช• เช•เชฐเชตเซเช‚ เชชเชกเซเชฏเซเช‚. เชธเซเช•เซเชฐเชฟเชชเซเชŸ:

ym_list = {'2016, 1': '153, 152, 64', '2016, 2': '153, 152, 128', 
           '2016, 3': '153, 152, 192', '2016, 4': '153, 153, 0',
           '2016, 5': '153, 153, 64', '2016, 6': '153, 153, 128', 
           '2016, 7': '153, 153, 192', '2016, 8': '153, 154, 0', 
           '2016, 9': '153, 154, 64', '2016, 10': '153, 154, 128', 
           '2016, 11': '153, 154, 192', '2016, 12': '153, 155, 0',
           '2017, 1': '153, 155, 128', '2017, 2': '153, 155, 192', 
           '2017, 3': '153, 156, 0', '2017, 4': '153, 156, 64',
           '2017, 5': '153, 156, 128', '2017, 6': '153, 156, 192',
           '2017, 7': '153, 157, 0', '2017, 8': '153, 157, 64',
           '2017, 9': '153, 157, 128', '2017, 10': '153, 157, 192', 
           '2017, 11': '153, 158, 0', '2017, 12': '153, 158, 64', 
           '2018, 1': '153, 158, 192', '2018, 2': '153, 159, 0',
           '2018, 3': '153, 159, 64', '2018, 4': '153, 159, 128', 
           '2018, 5': '153, 159, 192', '2018, 6': '153, 160, 0',
           '2018, 7': '153, 160, 64', '2018, 8': '153, 160, 128',
           '2018, 9': '153, 160, 192', '2018, 10': '153, 161, 0', 
           '2018, 11': '153, 161, 64', '2018, 12': '153, 161, 128',
           '2019, 1': '153, 162, 0', '2019, 2': '153, 162, 64', 
           '2019, 3': '153, 162, 128', '2019, 4': '153, 162, 192', 
           '2019, 5': '153, 163, 0', '2019, 6': '153, 163, 64',
           '2019, 7': '153, 163, 128', '2019, 8': '153, 163, 192',
           '2019, 9': '153, 164, 0', '2019, 10': '153, 164, 64', 
           '2019, 11': '153, 164, 128', '2019, 12': '153, 164, 192',
           '2020, 1': '153, 165, 64', '2020, 2': '153, 165, 128',
           '2020, 3': '153, 165, 192','2020, 4': '153, 166, 0', 
           '2020, 5': '153, 166, 64', '2020, 6': '153, 1, 128',
           '2020, 7': '153, 166, 192', '2020, 8': '153, 167, 0', 
           '2020, 9': '153, 167, 64','2020, 10': '153, 167, 128',
           '2020, 11': '153, 167, 192', '2020, 12': '153, 168, 0'}

def year_month(x1, x2):  # {x,X,X,x,x }

    for key, value in ym_list.items():
        key = [int(k) for k in key.replace("'", "").split(", ")]
        value = [int(v) for v in value.split(", ")]
        if x1 == value[1] and x2 // 64 == value[2] // 64:
            return key
    return 0, 0

เชฎเชจเซ‡ เช–เชพเชคเชฐเซ€ เช›เซ‡ เช•เซ‡ เชœเซ‹ เชคเชฎเซ‡ เชตเชงเซ เชธเชฎเชฏ เชชเชธเชพเชฐ เช•เชฐเชถเซ‹, เชคเซ‹ เช† เช—เซ‡เชฐเชธเชฎเชœ เชธเซเชงเชพเชฐเซ€ เชถเช•เชพเชถเซ‡.
เช†เช—เชณ, เชเช• เชซเช‚เช•เซเชถเชจ เช•เซ‡ เชœเซ‡ เชธเซเชŸเซเชฐเชฟเช‚เช—เชฎเชพเช‚เชฅเซ€ เชกเซ‡เชŸเชŸเชพเช‡เชฎ เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชชเชฐเชค เช•เชฐเซ‡ เช›เซ‡. เชธเซเช•เซเชฐเชฟเชชเซเชŸ:

def find_data_time(val:str):
    val = [int(v) for v in val.split(", ")]
    day = day_(val[2])
    hour = hour_(val[2], val[3])
    minutes = min_(val[3], val[4])
    year, month = year_month(val[1], val[2])
    return datetime(year, month, day, hour, minutes)

int, int, datetime, datetime เชฎเชพเช‚เชฅเซ€ เชตเชพเชฐเช‚เชตเชพเชฐ เชชเซเชจเชฐเชพเชตเชฐเซเชคเชฟเชค เชฎเซ‚เชฒเซเชฏเซ‹ เชถเซ‹เชงเชตเชพ เชฎเชพเชŸเซ‡ เชตเซเชฏเชตเชธเซเชฅเชพเชชเชฟเชค ibd เชซเชพเช‡เชฒเชจเชพ เชฌเชพเช‡เชŸ-เชฌเชพเชฏ-เชฌเชพเช‡เชŸ เชตเชฟเชถเซเชฒเซ‡เชทเชฃเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชธเซเชŸเซเชฐเช•เซเชšเชฐ เชซเชพเช‡เชฒ เชตเชฟเชจเชพ XtraDB เช•เซ‹เชทเซเชŸเช•เซ‹เชฎเชพเช‚เชฅเซ€ เชกเซ‡เชŸเชพ เชชเซเชจเชƒเชชเซเชฐเชพเชชเซเชค เช•เชฐเชตเซ‹, เชเชตเซเช‚ เชฒเชพเช—เซ‡ เช›เซ‡ เช•เซ‡ เชคเชฎเชจเซ‡ เช†เชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เชคเชฆเซเชชเชฐเชพเช‚เชค, เช†เชตเซ€ เช•เซเชฐเชฎ เชฆเชฐเซ‡เช• เชฒเซ€เชŸเซ€เชฎเชพเช‚ เชฌเซ‡ เชตเชพเชฐ เชชเซเชจเชฐเชพเชตเชฐเซเชคเชฟเชค เชฅเชคเซ€ เชจเชฅเซ€.

เชจเชฟเชฏเชฎเชฟเชค เช…เชญเชฟเชตเซเชฏเช•เซเชคเชฟเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡, เช…เชฎเชจเซ‡ เชœเชฐเซ‚เชฐเซ€ เชกเซ‡เชŸเชพ เชฎเชณเซ‡ เช›เซ‡:

fined = re.findall(r'128, d*, d*, d*, 128, d*, d*, d*, 153, 1[6,5,4,3]d, d*, d*, d*, 153, 1[6,5,4,3]d, d*, d*, d*', int_array)

เชฎเชนเซ‡เชฐเชฌเชพเชจเซ€ เช•เชฐเซ€เชจเซ‡ เชจเซ‹เช‚เชง เช•เชฐเซ‹ เช•เซ‡ เช† เช…เชญเชฟเชตเซเชฏเช•เซเชคเชฟเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชถเซ‹เชง เช•เชฐเชคเซ€ เชตเช–เชคเซ‡, เชœเชฐเซ‚เชฐเซ€ เช•เซเชทเซ‡เชคเซเชฐเซ‹เชฎเชพเช‚ NULL เชฎเซ‚เชฒเซเชฏเซ‹ เชจเช•เซเช•เซ€ เช•เชฐเชตเชพเชจเซเช‚ เชถเช•เซเชฏ เชฌเชจเชถเซ‡ เชจเชนเซ€เช‚, เชชเชฐเช‚เชคเซ เชฎเชพเชฐเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚ เช† เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เชจเชฅเซ€. เชชเช›เซ€ เช†เชชเชฃเซ‡ เชฒเซ‚เชชเชฎเชพเช‚ เชœเซ‡ เชฎเชณเซเชฏเซเช‚ เชคเซ‡เชฎเชพเช‚เชฅเซ€ เชชเชธเชพเชฐ เชฅเชˆเช. เชธเซเช•เซเชฐเชฟเชชเซเชŸ:

result = []
for val in fined:
    pre_result = []
    bd_int  = re.findall(r"128, d*, d*, d*", val)
    bd_date= re.findall(r"(153, 1[6,5,4,3]d, d*, d*, d*)", val)
    for it in bd_int:
        pre_result.append(find_int(bd_int[it]))
    for bd in bd_date:
        pre_result.append(find_data_time(bd))
    result.append(pre_result)

เชตเชพเชธเซเชคเชตเชฎเชพเช‚, เช†เชŸเชฒเซเช‚ เชœ, เชชเชฐเชฟเชฃเชพเชฎ เชเชฐเซ‡เชฎเชพเช‚เชฅเซ€ เชกเซ‡เชŸเชพ เช เช†เชชเชฃเชจเซ‡ เชœเซ‹เชˆเชคเซ‹ เชกเซ‡เชŸเชพ เช›เซ‡. ###PS.###
เชนเซเช‚ เชธเชฎเชœเซเช‚ เช›เซเช‚ เช•เซ‡ เช† เชชเชฆเซเชงเชคเชฟ เชฆเชฐเซ‡เช• เชฎเชพเชŸเซ‡ เชฏเซ‹เช—เซเชฏ เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เชฒเซ‡เช–เชจเซ‹ เชฎเซเช–เซเชฏ เชงเซเชฏเซ‡เชฏ เชคเชฎเชพเชฐเซ€ เชฌเชงเซ€ เชธเชฎเชธเซเชฏเชพเช“ เชนเชฒ เช•เชฐเชตเชพเชจเซ‡ เชฌเชฆเชฒเซ‡ เชคเชพเชคเซเช•เชพเชฒเชฟเช• เชชเช—เชฒเชพเช‚ เชฒเซ‡เชตเชพเชจเซ‹ เช›เซ‡. เชฎเชจเซ‡ เชฒเชพเช—เซ‡ เช›เซ‡ เช•เซ‡ เชธเซเชฐเซ‹เชค เช•เซ‹เชกเชจเซ‹ เชœเชพเชคเซ‡ เช…เชญเซเชฏเชพเชธ เช•เชฐเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเชตเซเช‚ เช เชธเซŒเชฅเซ€ เชธเชพเชšเซ‹ เช‰เช•เซ‡เชฒ เชนเชถเซ‡ เชฎเชพเชฐเชฟเชฏเชพเชกเชฌ, เชชเชฐเช‚เชคเซ เชฎเชฐเซเชฏเชพเชฆเชฟเชค เชธเชฎเชฏเชจเซ‡ เชฒเซ€เชงเซ‡, เชตเชฐเซเชคเชฎเชพเชจ เชชเชฆเซเชงเชคเชฟ เชธเซŒเชฅเซ€ เชเชกเชชเซ€ เชฒเชพเช—เซ€ เชนเชคเซ€.

เช•เซ‡เชŸเชฒเชพเช• เช•เชฟเชธเซเชธเชพเช“เชฎเชพเช‚, เชซเชพเช‡เชฒเชจเซเช‚ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เช•เชฐเซเชฏเชพ เชชเช›เซ€, เชคเชฎเซ‡ เช…เช‚เชฆเชพเชœเชฟเชค เชฎเชพเชณเช–เซเช‚ เชจเช•เซเช•เซ€ เช•เชฐเซ€ เชถเช•เชถเซ‹ เช…เชจเซ‡ เช‰เชชเชฐเชจเซ€ เชฒเชฟเช‚เช•เซเชธเชฎเชพเช‚เชฅเซ€ เชเช• เชฎเชพเชจเช• เชชเชฆเซเชงเชคเชฟเช“เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชคเซ‡เชจเซ‡ เชชเซเชจเชƒเชธเซเชฅเชพเชชเชฟเชค เช•เชฐเซ€ เชถเช•เชถเซ‹. เช† เชตเชงเซ เชฏเซ‹เช—เซเชฏ เชนเชถเซ‡ เช…เชจเซ‡ เช“เช›เซ€ เชธเชฎเชธเซเชฏเชพเช“เชจเซเช‚ เช•เชพเชฐเชฃ เชฌเชจเชถเซ‡.

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹