ibd เจซเจพเจˆเจฒ เจฆเฉ‡ เจฌเจพเจˆเจŸ-เจฌเจพเจˆ-เจฌเจพเจˆเจŸ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจ‡เฉฑเจ• เจขเจพเจ‚เจšเจพ เจซเจพเจˆเจฒ เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ XtraDB เจŸเฉ‡เจฌเจฒเจพเจ‚ เจคเฉ‹เจ‚ เจกเจพเจŸเจพ เจฎเฉเฉœ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจเจพ

ibd เจซเจพเจˆเจฒ เจฆเฉ‡ เจฌเจพเจˆเจŸ-เจฌเจพเจˆ-เจฌเจพเจˆเจŸ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจ‡เฉฑเจ• เจขเจพเจ‚เจšเจพ เจซเจพเจˆเจฒ เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ XtraDB เจŸเฉ‡เจฌเจฒเจพเจ‚ เจคเฉ‹เจ‚ เจกเจพเจŸเจพ เจฎเฉเฉœ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจเจพ

prehistory

เจ‡เจน เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจนเฉ‹เจ‡เจ† เจ•เจฟ เจธเจฐเจตเจฐ 'เจคเฉ‡ เจ‡เฉฑเจ• เจฐเฉˆเจจเจธเจฎเจตเฉ‡เจ…เจฐ เจตเจพเจ‡เจฐเจธ เจฆเฉเจ†เจฐเจพ เจนเจฎเจฒเจพ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€, เจœเจฟเจธ เจจเฉ‡, เจ‡เฉฑเจ• "เจ–เฉเจธเจผเจ•เจฟเจธเจฎเจค เจฆเฉเจฐเจ˜เจŸเจจเจพ" เจฆเฉเจ†เจฐเจพ, เจ…เฉฐเจธเจผเจ• เจคเฉŒเจฐ 'เจคเฉ‡ .ibd เจซเจพเจˆเจฒเจพเจ‚ (เจ‡เจจเฉ‹เจกเจฌเฉ€ เจŸเฉ‡เจฌเจฒ เจฆเฉ€เจ†เจ‚ เจ•เฉฑเจšเฉ€เจ†เจ‚ เจกเฉ‡เจŸเจพ เจซเจพเจˆเจฒเจพเจ‚) เจจเฉ‚เฉฐ เจ…เจ›เฉ‚เจน เจ›เฉฑเจก เจฆเจฟเฉฑเจคเจพ, เจชเจฐ เจ‰เจธเฉ‡ เจธเจฎเฉ‡เจ‚ .fpm เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจเจจเจ•เฉเจฐเจฟเจชเจŸ เจ•เจฐ เจฆเจฟเฉฑเจคเจพ ( เจขเจพเจ‚เจšเจพ เจซเจพเจˆเจฒเจพเจ‚). เจ‡เจธ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš, .idb เจจเฉ‚เฉฐ เจ‡เจธ เจตเจฟเฉฑเจš เจตเฉฐเจกเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ:

  • เจฎเจฟเจ†เจฐเฉ€ เจธเจพเจงเจจเจพเจ‚ เจ…เจคเฉ‡ เจ—เจพเจˆเจกเจพเจ‚ เจฐเจพเจนเฉ€เจ‚ เจฌเจนเจพเจฒเฉ€ เจฆเฉ‡ เจ…เจงเฉ€เจจเฅค เจ…เจœเจฟเจนเฉ‡ เจฎเจพเจฎเจฒเจฟเจ†เจ‚ เจฒเจˆ, เจ‡เฉฑเจ• เจธเจผเจพเจจเจฆเจพเจฐ เจนเฉˆ เจฌเจฃเจจเจพ;
  • เจ…เฉฐเจธเจผเจ• เจคเฉŒเจฐ 'เจคเฉ‡ เจ‡เจจเจ•เฉเจฐเจฟเจชเจŸเจก เจŸเฉ‡เจฌเจฒเฅค เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจ‡เจน เจตเฉฑเจกเฉ‡ เจŸเฉ‡เจฌเจฒ เจนเจจ, เจœเจฟเจธ เจฒเจˆ (เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจฎเฉˆเจ‚ เจธเจฎเจเจฆเจพ เจนเจพเจ‚) เจนเจฎเจฒเจพเจตเจฐเจพเจ‚ เจ•เฉ‹เจฒ เจชเฉ‚เจฐเฉ€ เจเจจเจ•เฉเจฐเจฟเจชเจธเจผเจจ เจฒเจˆ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ€ 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 DATETIME;
  • date_finish DATETIMEเฅค

เจฐเจฟเจ•เจตเจฐเฉ€ เจฒเจˆ, .ibd เจซเจพเจˆเจฒ เจฆเจพ เจ‡เฉฑเจ• เจฌเจพเจˆเจŸ-เจฌเจพเจˆ-เจฌเจพเจˆเจŸ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจตเจฐเจคเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจœเจฟเจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจชเฉœเฉเจนเจจเจฏเฉ‹เจ— เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจฌเจฆเจฒเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจ•เจฟเจ‰เจ‚เจ•เจฟ เจธเจพเจจเฉ‚เฉฐ เจ•เฉ€ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ เจ‡เจน เจฒเฉฑเจญเจฃ เจฒเจˆ, เจธเจพเจจเฉ‚เฉฐ เจธเจฟเจฐเจซเจผ เจกเจพเจŸเจพ เจ•เจฟเจธเจฎเจพเจ‚ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ‡เฉฐเจŸ เจ…เจคเฉ‡ เจกเฉ‡เจŸเจพเจŸเจพเจˆเจฎ เจฆเจพ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ, เจฒเฉ‡เจ– เจธเจฟเจฐเจซเจผ เจ‰เจนเจจเจพเจ‚ เจฆเจพ เจตเจฐเจฃเจจ เจ•เจฐเฉ‡เจ—เจพ, เจชเจฐ เจ•เจˆ เจตเจพเจฐ เจ…เจธเฉ€เจ‚ เจนเฉ‹เจฐ เจกเจพเจŸเจพ เจ•เจฟเจธเจฎเจพเจ‚ เจฆเจพ เจนเจตเจพเจฒเจพ เจตเฉ€ เจฆเฉ‡เจตเจพเจ‚เจ—เฉ‡, เจœเฉ‹ เจนเฉ‹เจฐ เจธเจฎเจพเจจ เจ˜เจŸเจจเจพเจตเจพเจ‚ เจตเจฟเฉฑเจš เจฎเจฆเจฆ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจจเฅค

เจธเจฎเฉฑเจธเจฟเจ† 1: DATETIME เจ…เจคเฉ‡ TEXT เจ•เจฟเจธเจฎเจพเจ‚ เจตเจพเจฒเฉ‡ เจ–เฉ‡เจคเจฐเจพเจ‚ เจตเจฟเฉฑเจš NULL เจฎเฉเฉฑเจฒ เจธเจจ, เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฟเจฐเจซเจผ เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš เจ›เฉฑเจก เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจ‡เจธเจฆเฉ‡ เจ•เจพเจฐเจจ, เจฎเฉ‡เจฐเฉ‡ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš เจฌเจนเจพเจฒ เจ•เจฐเจจ เจฒเจˆ เจขเจพเจ‚เจšเฉ‡ เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจเจพ เจธเฉฐเจญเจต เจจเจนเฉ€เจ‚ เจธเฉ€เฅค เจจเจตเฉ‡เจ‚ เจ•เจพเจฒเจฎเจพเจ‚ เจตเจฟเฉฑเจš, เจชเฉ‚เจฐเจต-เจจเจฟเจฐเจงเจพเจฐเจค เจฎเฉเฉฑเจฒ เจ–เจพเจฒเฉ€ เจธเฉ€, เจ…เจคเฉ‡ innodb_flush_log_at_trx_commit = 0 เจธเฉˆเจŸเจฟเฉฐเจ— เจ•เจฐเจ•เฉ‡ เจฒเฉˆเจฃ-เจฆเฉ‡เจฃ เจฆเจพ เจ•เฉเจ เจนเจฟเฉฑเจธเจพ เจ–เจคเจฎ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ, เจ‡เจธเจฒเจˆ เจขเจพเจ‚เจšเฉ‡ เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจฒเจˆ เจตเจพเจงเฉ‚ เจธเจฎเจพเจ‚ เจ–เจฐเจš เจ•เจฐเจจเจพ เจชเจตเฉ‡เจ—เจพเฅค

เจธเจฎเฉฑเจธเจฟเจ† 2: เจ‡เจน เจงเจฟเจ†เจจ เจตเจฟเฉฑเจš เจฐเฉฑเจ–เจฟเจ† เจœเจพเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ เจ•เจฟ DELETE เจฐเจพเจนเฉ€เจ‚ เจฎเจฟเจŸเจพเจˆเจ†เจ‚ เจ—เจˆเจ†เจ‚ เจ•เจคเจพเจฐเจพเจ‚ เจธเจพเจฐเฉ€เจ†เจ‚ ibd เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš เจนเฉ‹เจฃเจ—เฉ€เจ†เจ‚, เจชเจฐ ALTER TABLE เจจเจพเจฒ เจ‰เจนเจจเจพเจ‚ เจฆเฉ€ เจฌเจฃเจคเจฐ เจจเฉ‚เฉฐ เจ…เฉฑเจชเจกเฉ‡เจŸ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพเฅค เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚, เจกเจพเจŸเจพ เจขเจพเจ‚เจšเจพ เจซเจพเจˆเจฒ เจฆเฉ€ เจธเจผเฉเจฐเฉ‚เจ†เจค เจคเฉ‹เจ‚ เจ‡เจธเจฆเฉ‡ เจ…เฉฐเจค เจคเฉฑเจ• เจตเฉฑเจ–เจฐเจพ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจ…เจ•เจธเจฐ เจ“เจชเจŸเฉ€เจฎเจพเจˆเจœเจผ เจŸเฉ‡เจฌเจฒ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ…เจœเจฟเจนเฉ€ เจธเจฎเฉฑเจธเจฟเจ† เจฆเจพ เจธเจพเจนเจฎเจฃเจพ เจ•เจฐเจจ เจฆเฉ€ เจธเฉฐเจญเจพเจตเจจเจพ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค

เจงเจฟเจ†เจจ เจฆเฉ‡เจตเฉ‹, DBMS เจธเฉฐเจธเจ•เจฐเจฃ เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจธเจŸเฉ‹เจฐ เจ•เจฐเจจ เจฆเฉ‡ เจคเจฐเฉ€เจ•เฉ‡ เจจเฉ‚เฉฐ เจชเฉเจฐเจญเจพเจตเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ เจ•เจฟ เจ‡เจน เจ‰เจฆเจพเจนเจฐเจจ เจฆเฉ‚เจœเฉ‡ เจชเฉเจฐเจฎเฉเฉฑเจ– เจธเฉฐเจธเจ•เจฐเจฃเจพเจ‚ เจฒเจˆ เจ•เฉฐเจฎ เจจเจพ เจ•เจฐเฉ‡เฅค เจฎเฉ‡เจฐเฉ‡ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš, mariadb 10.1.24 เจฆเจพ เจตเจฟเฉฐเจกเฉ‹เจœเจผ เจตเจฐเจœเจจ เจตเจฐเจคเจฟเจ† เจ—เจฟเจ† เจธเฉ€เฅค เจจเจพเจฒ เจนเฉ€, เจนเจพเจฒเจพเจ‚เจ•เจฟ mariadb เจตเจฟเฉฑเจš เจคเฉเจธเฉ€เจ‚ InnoDB เจŸเฉ‡เจฌเจฒ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจนเฉ‹, เจ…เจธเจฒ เจตเจฟเฉฑเจš เจ‰เจน เจนเจจ เจเจ•เจธเจŸเจฐเจกเจฌเฉ€, เจœเฉ‹ เจ•เจฟ InnoDB mysql เจจเจพเจฒ เจตเจฟเจงเฉ€ เจฆเฉ€ เจชเฉเจฐเจฏเฉ‹เจ—เจคเจพ เจจเฉ‚เฉฐ เจฌเจพเจนเจฐ เจฐเฉฑเจ–เจฆเจพ เจนเฉˆเฅค

เจซเจพเจˆเจฒ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ

เจชเจพเจˆเจฅเจจ เจตเจฟเฉฑเจš, เจกเจพเจŸเจพ เจ•เจฟเจธเจฎ เจฌเจพเจˆเจŸ() เจธเฉฐเจ–เจฟเจ†เจตเจพเจ‚ เจฆเฉ‡ เจจเจฟเจฏเจฎเจค เจธเจฎเฉ‚เจน เจฆเฉ€ เจฅเจพเจ‚ 'เจคเฉ‡ เจฏเฉ‚เจจเฉ€เจ•เฉ‹เจก เจกเฉ‡เจŸเจพ เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจนเจพเจฒเจพเจ‚เจ•เจฟ เจคเฉเจธเฉ€เจ‚ เจ‡เจธ เจซเจพเจฐเจฎ เจตเจฟเฉฑเจš เจซเจพเจˆเจฒ เจฆเฉ‡เจ– เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจธเฉเจตเจฟเจงเจพ เจฒเจˆ เจคเฉเจธเฉ€เจ‚ เจฌเจพเจˆเจŸ เจเจฐเฉ‡ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจจเจฟเจฏเจฎเจค เจเจฐเฉ‡ (เจฒเจฟเจธเจŸ(เจ‰เจฆเจพเจนเจฐเจจ_เจฌเจพเจˆเจŸ_เจเจฐเฉ‡)) เจตเจฟเฉฑเจš เจฌเจฆเจฒ เจ•เฉ‡ เจฌเจพเจˆเจŸ เจจเฉ‚เฉฐ เจธเฉฐเจ–เจฟเจ†เจคเจฎเจ• เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจฌเจฆเจฒ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจ•เจฟเจธเฉ‡ เจตเฉ€ เจนเจพเจฒเจค เจตเจฟเฉฑเจš, เจฆเฉ‹เจตเฉ‡เจ‚ เจคเจฐเฉ€เจ•เฉ‡ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจฒเจˆ เจขเฉเจ•เจตเฉ‡เจ‚ เจนเจจ.

เจ•เจˆ ibd เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจฆเฉ‡เจ–เจฃ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจคเฉเจธเฉ€เจ‚ เจนเฉ‡เจ  เจฒเจฟเจ–เจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจฒเฉฑเจญ เจธเจ•เจฆเฉ‡ เจนเฉ‹:

ibd เจซเจพเจˆเจฒ เจฆเฉ‡ เจฌเจพเจˆเจŸ-เจฌเจพเจˆ-เจฌเจพเจˆเจŸ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจ‡เฉฑเจ• เจขเจพเจ‚เจšเจพ เจซเจพเจˆเจฒ เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ XtraDB เจŸเฉ‡เจฌเจฒเจพเจ‚ เจคเฉ‹เจ‚ เจกเจพเจŸเจพ เจฎเฉเฉœ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจเจพ

เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจ‡เจนเจจเจพเจ‚ เจ•เฉ€เจตเจฐเจกเจธ เจฆเฉเจ†เจฐเจพ เจซเจพเจˆเจฒ เจจเฉ‚เฉฐ เจตเฉฐเจกเจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจกเฉ‡เจŸเจพ เจฆเฉ‡ เจฌเจฒเจพเจ• เจตเฉ€ เจฎเจฟเจฒเจฃเจ—เฉ‡เฅค เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจตเจฟเจญเจพเจœเจ• เจตเจœเฉ‹เจ‚ เจ‡เจจเจซเจฟเจฎเจฎ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจพเจ‚เจ—เฉ‡เฅค

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

เจ‡เฉฑเจ• เจฆเจฟเจฒเจšเจธเจช เจจเจฟเจฐเฉ€เจ–เจฃ: เจฅเฉ‹เฉœเฉเจนเฉ‡ เจœเจฟเจนเฉ‡ เจกเฉ‡เจŸเจพ เจตเจพเจฒเฉ€เจ†เจ‚ เจŸเฉ‡เจฌเจฒเจพเจ‚ เจฒเจˆ, เจ‡เจจเจซเจฟเจฎเจฎ เจ…เจคเฉ‡ เจธเจฐเจตเจ‰เฉฑเจš เจตเจฟเจšเจ•เจพเจฐ เจฌเจฒเจพเจ• เจตเจฟเฉฑเจš เจ•เจคเจพเจฐเจพเจ‚ เจฆเฉ€ เจธเฉฐเจ–เจฟเจ† เจฒเจˆ เจ‡เฉฑเจ• เจชเฉเจ†เจ‡เฉฐเจŸเจฐ เจนเฉˆเฅค

ibd เจซเจพเจˆเจฒ เจฆเฉ‡ เจฌเจพเจˆเจŸ-เจฌเจพเจˆ-เจฌเจพเจˆเจŸ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจ‡เฉฑเจ• เจขเจพเจ‚เจšเจพ เจซเจพเจˆเจฒ เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ XtraDB เจŸเฉ‡เจฌเจฒเจพเจ‚ เจคเฉ‹เจ‚ เจกเจพเจŸเจพ เจฎเฉเฉœ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจเจพ - เจชเจนเจฟเจฒเฉ€ เจ•เจคเจพเจฐ เจฆเฉ‡ เจจเจพเจฒ เจŸเฉˆเจธเจŸ เจŸเฉ‡เจฌเจฒ

ibd เจซเจพเจˆเจฒ เจฆเฉ‡ เจฌเจพเจˆเจŸ-เจฌเจพเจˆ-เจฌเจพเจˆเจŸ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจ‡เฉฑเจ• เจขเจพเจ‚เจšเจพ เจซเจพเจˆเจฒ เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ XtraDB เจŸเฉ‡เจฌเจฒเจพเจ‚ เจคเฉ‹เจ‚ เจกเจพเจŸเจพ เจฎเฉเฉœ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจเจพ - 2 เจ•เจคเจพเจฐเจพเจ‚ เจจเจพเจฒ เจŸเฉˆเจธเจŸ เจŸเฉ‡เจฌเจฒ

เจ•เจคเจพเจฐ เจเจฐเฉ‡ เจธเจพเจฐเจฃเฉ€[0] เจจเฉ‚เฉฐ เจ›เฉฑเจกเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจ‡เจธ เจจเฉ‚เฉฐ เจฆเฉ‡เจ–เจฃ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจฎเฉˆเจ‚ เจ…เจœเฉ‡ เจตเฉ€ เจ•เฉฑเจšเจพ เจŸเฉ‡เจฌเจฒ เจกเฉ‡เจŸเจพ เจฒเฉฑเจญเจฃ เจตเจฟเฉฑเจš เจ…เจธเจฎเจฐเฉฑเจฅ เจธเฉ€เฅค เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจธเฉฐเจญเจพเจตเจจเจพ เจนเฉˆ, เจ‡เจน เจฌเจฒเจพเจ• เจธเฉ‚เจšเจ•เจพเจ‚เจ• เจ…เจคเฉ‡ เจ•เฉเฉฐเจœเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจธเจŸเฉ‹เจฐ เจ•เจฐเจจ เจฒเจˆ เจตเจฐเจคเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค
เจธเจพเจฐเจฃเฉ€[1] เจจเจพเจฒ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจธเฉฐเจ–เจฟเจ†เจคเจฎเจ• เจเจฐเฉ‡ เจตเจฟเฉฑเจš เจ…เจจเฉเจตเจพเจฆ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ, เจคเฉเจธเฉ€เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจ•เฉเจ เจชเฉˆเจŸเจฐเจจ เจจเฉ‹เจŸ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจ…เจฐเจฅเจพเจค:

ibd เจซเจพเจˆเจฒ เจฆเฉ‡ เจฌเจพเจˆเจŸ-เจฌเจพเจˆ-เจฌเจพเจˆเจŸ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจ‡เฉฑเจ• เจขเจพเจ‚เจšเจพ เจซเจพเจˆเจฒ เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ XtraDB เจŸเฉ‡เจฌเจฒเจพเจ‚ เจคเฉ‹เจ‚ เจกเจพเจŸเจพ เจฎเฉเฉœ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจเจพ

เจ‡เจน เจ‡เฉฑเจ• เจธเจคเจฐ เจตเจฟเฉฑเจš เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเฉ‡ int เจฎเฉเฉฑเจฒ เจนเจจเฅค เจชเจนเจฟเจฒเจพ เจฌเจพเจˆเจŸ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ เจ•เจฟ เจ•เฉ€ เจธเฉฐเจ–เจฟเจ† เจธเจ•เจพเจฐเจพเจคเจฎเจ• เจนเฉˆ เจœเจพเจ‚ เจจเจ•เจพเจฐเจพเจคเจฎเจ•เฅค เจฎเฉ‡เจฐเฉ‡ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš, เจธเจพเจฐเฉ‡ เจจเฉฐเจฌเจฐ เจธเจ•เจพเจฐเจพเจคเจฎเจ• เจนเจจ. เจฌเจพเจ•เฉ€ 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

เจฎเฉˆเจจเฉ‚เฉฐ เจฏเจ•เฉ€เจจ เจนเฉˆ เจ•เจฟ เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจ•เจพเจซเจผเฉ€ เจธเจฎเจพเจ‚ เจฌเจฟเจคเจพเจ‰เจ‚เจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจ‡เจธ เจ—เจฒเจคเจซเจนเจฟเจฎเฉ€ เจจเฉ‚เฉฐ เจ เฉ€เจ• เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค
เจ…เฉฑเจ—เฉ‡, เจ‡เฉฑเจ• เจซเฉฐเจ•เจธเจผเจจ เจœเฉ‹ เจ‡เฉฑเจ• เจธเจŸเฉเจฐเจฟเฉฐเจ— เจคเฉ‹เจ‚ เจ‡เฉฑเจ• datetime เจตเจธเจคเฉ‚ เจตเจพเจชเจธ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจธเจ•เฉเจฐเจฟเจชเจŸ:

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

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹