ibd เดซเดฏเดฒเดฟเดจเตเดฑเต† เดฌเตˆเดฑเตเดฑเต-เดฌเตˆ-เดฌเตˆเดฑเตเดฑเต เดตเดฟเดถเด•เดฒเดจเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด’เดฐเต เด˜เดŸเดจเดพ เดซเดฏเดฒเดฟเดฒเตเดฒเดพเดคเต† XtraDB เดชเดŸเตเดŸเดฟเด•เด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดกเดพเดฑเตเดฑ เดตเต€เดฃเตเดŸเต†เดŸเตเด•เตเด•เตเดจเตเดจเต

ibd เดซเดฏเดฒเดฟเดจเตเดฑเต† เดฌเตˆเดฑเตเดฑเต-เดฌเตˆ-เดฌเตˆเดฑเตเดฑเต เดตเดฟเดถเด•เดฒเดจเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด’เดฐเต เด˜เดŸเดจเดพ เดซเดฏเดฒเดฟเดฒเตเดฒเดพเดคเต† XtraDB เดชเดŸเตเดŸเดฟเด•เด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดกเดพเดฑเตเดฑ เดตเต€เดฃเตเดŸเต†เดŸเตเด•เตเด•เตเดจเตเดจเต

เดšเดฐเดฟเดคเตเดฐเดพเดคเต€เดคเด•เดพเดฒเด‚

เด’เดฐเต ransomware เดตเตˆเดฑเดธเต เดธเต†เตผเดตเดฑเดฟเดจเต† เด†เด•เตเดฐเดฎเดฟเดšเตเดšเต, เด…เดคเต โ€œเดญเดพเด—เตเดฏเด•เดฐเดฎเดพเดฏ เด’เดฐเต เด…เดชเด•เดŸเดคเตเดคเดพเตฝโ€ .ibd เดซเดฏเดฒเตเด•เดณเต† (innodb เดŸเต‡เดฌเดฟเดณเตเด•เดณเตเดŸเต† เดฑเต‹ เดกเดพเดฑเตเดฑ เดซเดฏเดฒเตเด•เตพ) เดญเดพเด—เดฟเด•เดฎเดพเดฏเดฟ เดธเตเดชเตผเดถเดฟเด•เตเด•เดพเดคเต† เดตเดฟเดŸเตเดŸเต, เดŽเดจเตเดจเดพเตฝ เด…เดคเต‡ เดธเดฎเดฏเด‚ .fpm เดซเดฏเดฒเตเด•เตพ เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เดŽเตปเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดšเต†เดฏเตเดคเต ( เด˜เดŸเดจ เดซเดฏเดฒเตเด•เตพ). เดˆ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ, .idb-เดฏเต† เด‡เด™เตเด™เดจเต† เดตเดฟเดญเดœเดฟเด•เตเด•เดพเด‚:

  • เดธเตเดฑเตเดฑเดพเตปเดกเต‡เตผเดกเต เดŸเต‚เดณเตเด•เดณเตเด‚ เด—เตˆเดกเตเด•เดณเตเด‚ เดตเดดเดฟ เดชเตเดจเดƒเดธเตเดฅเดพเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดตเดฟเดงเต‡เดฏเดฎเดพเดฃเต. เด…เดคเตเดคเดฐเด‚ เดธเดจเตเดฆเตผเดญเด™เตเด™เดณเดฟเตฝ, เด’เดฐเต เดฎเดฟเด•เดšเตเดš เด‰เดฃเตเดŸเต เด†เดฏเดฟเดคเตเดคเต€เดฐเตเดจเตเดจเต;
  • เดญเดพเด—เดฟเด•เดฎเดพเดฏเดฟ เดŽเตปเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดšเต†เดฏเตเดค เดชเดŸเตเดŸเดฟเด•เด•เตพ. เด•เต‚เดŸเตเดคเดฒเตเด‚ เด‡เดต เดตเดฒเดฟเดฏ เดŸเต‡เดฌเดฟเดณเตเด•เดณเดพเดฃเต, (เดžเดพเตป เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เดฟเดฏเดคเตเดชเต‹เดฒเต†) เด†เด•เตเดฐเดฎเดฃเด•เดพเดฐเดฟเด•เตพเด•เตเด•เต เดชเต‚เตผเดฃเตเดฃ เดŽเตปเด•เตเดฐเดฟเดชเตเดทเดจเดพเดฏเดฟ เดฎเดคเดฟเดฏเดพเดฏ เดฑเดพเด‚ เด‡เดฒเตเดฒเดพเดฏเดฟเดฐเตเดจเตเดจเต;
  • เดถเดฐเดฟ, เดชเตเดจเดƒเดธเตเดฅเดพเดชเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดพเดคเตเดค เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เดŽเตปเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดšเต†เดฏเตเดค เดชเดŸเตเดŸเดฟเด•เด•เตพ.

เด†เดตเดถเตเดฏเดฎเตเดณเตเดณ เดŽเตปเด•เต‹เดกเดฟเด‚เด—เดฟเดจเต เด•เต€เดดเดฟเตฝ เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดŸเต†เด•เตเดธเตเดฑเตเดฑเต เดŽเดกเดฟเดฑเตเดฑเดฑเดฟเตฝ เดคเตเดฑเดจเตเดจเต (เดŽเดจเตเดฑเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ เด‡เดคเต 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 เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด…เดตเดฏเตเดŸเต† เด˜เดŸเดจ เด…เดชเตเดกเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเดชเตเดชเต†เดŸเดฟเดฒเตเดฒ. เดคเตฝเดซเดฒเดฎเดพเดฏเดฟ, เดซเดฏเดฒเดฟเดจเตเดฑเต† เดคเตเดŸเด•เตเด•เด‚ เดฎเตเดคเตฝ เด…เดตเดธเดพเดจเด‚ เดตเดฐเต† เดกเดพเดฑเตเดฑ เด˜เดŸเดจ เดตเตเดฏเดคเตเดฏเดพเดธเดชเตเดชเต†เดŸเดพเด‚. เดจเดฟเด™เตเด™เตพ เดชเดฒเดชเตเดชเต‹เดดเตเด‚ เด’เดชเตเดฑเตเดฑเดฟเดฎเตˆเดธเต เดŸเต‡เดฌเดฟเตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด…เดคเตเดคเดฐเดฎเตŠเดฐเต เดชเตเดฐเดถเตเดจเด‚ เดจเต‡เดฐเดฟเดŸเดพเตป เดธเดพเดงเตเดฏเดคเดฏเดฟเดฒเตเดฒ.

เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด•, DBMS เดชเดคเดฟเดชเตเดชเต เดกเดพเดฑเตเดฑ เดธเด‚เดญเดฐเดฟเด•เตเด•เตเดจเตเดจ เดฐเต€เดคเดฟเดฏเต† เดฌเดพเดงเดฟเด•เตเด•เตเดจเตเดจเต, เดฎเดฑเตเดฑเต เดชเตเดฐเดงเดพเดจ เดชเดคเดฟเดชเตเดชเตเด•เตพเด•เตเด•เต เดˆ เด‰เดฆเดพเดนเดฐเดฃเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดšเตเดšเต‡เด•เตเด•เดฟเดฒเตเดฒ. เดŽเดจเตเดฑเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ, mariadb 10.1.24-เดจเตเดฑเต† เดตเดฟเตปเดกเต‹เดธเต เดชเดคเดฟเดชเตเดชเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต. เด•เต‚เดŸเดพเดคเต†, mariadb-เตฝ เดจเดฟเด™เตเด™เตพ InnoDB เดŸเต‡เดฌเดฟเดณเตเด•เตพเด•เตเด•เตŠเดชเตเดชเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเตเดฃเตเดŸเต†เด™เตเด•เดฟเดฒเตเด‚, เดตเดพเดธเตเดคเดตเดคเตเดคเดฟเตฝ เด…เดตเดฏเดพเดฃเต เดŽเด•เตโ€ŒเดธเตเดŸเตเดฐเดพเดกเดฟเดฌเดฟ, เด‡เดคเต InnoDB mysql เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเตเดณเตเดณ เดฐเต€เดคเดฟเดฏเตเดŸเต† เดชเตเดฐเดฏเต‹เด—เด•เตเดทเดฎเดค เด’เดดเดฟเดตเดพเด•เตเด•เตเดจเตเดจเต.

เดซเดฏเตฝ เดตเดฟเดถเด•เดฒเดจเด‚

เดชเตˆเดคเตเดคเดฃเดฟเตฝ, เดกเดพเดฑเตเดฑ เดคเดฐเด‚ เดฌเตˆเดฑเตเดฑเตเด•เตพ() เด’เดฐเต เดธเดพเดงเดพเดฐเดฃ เดธเด‚เด–เตเดฏเด•เดณเตเดŸเต† เดธเตเดฅเดพเดจเดคเตเดคเต เดฏเต‚เดฃเดฟเด•เต‹เดกเต เดกเดพเดฑเตเดฑ เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต. เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดˆ เดซเต‹เดฎเดฟเตฝ เดซเดฏเตฝ เด•เดพเดฃเดพเตป เด•เดดเดฟเดฏเตเดฎเต†เด™เตเด•เดฟเดฒเตเด‚, เดธเต—เด•เดฐเตเดฏเดพเตผเดคเตเดฅเด‚ เดฌเตˆเดฑเตเดฑเต เด…เดฑเต‡เดฏเต† เด’เดฐเต เดธเดพเดงเดพเดฐเดฃ เด…เดฑเต‡เดฏเดฟเดฒเต‡เด•เตเด•เต เดชเดฐเดฟเดตเตผเดคเตเดคเดจเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดฒเต‚เดŸเต† เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฌเตˆเดฑเตเดฑเตเด•เดณเต† เดธเด‚เด–เตเดฏเดพ เดฐเต‚เดชเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดชเดฐเดฟเดตเตผเดคเตเดคเดจเด‚ เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเด‚ (list(example_byte_array)). เดเดคเต เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเดฒเตเด‚, เดฐเดฃเตเดŸเต เดฐเต€เดคเดฟเด•เดณเตเด‚ เดตเดฟเดถเด•เดฒเดจเดคเตเดคเดฟเดจเต เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฃเต.

เดจเดฟเดฐเดตเดงเดฟ ibd เดซเดฏเดฒเตเด•เตพ เดชเดฐเดฟเดถเต‹เดงเดฟเดšเตเดš เดถเต‡เดทเด‚, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจเดต เด•เดฃเตเดŸเต†เดคเตเดคเดพเดจเดพเด•เตเด‚:

ibd เดซเดฏเดฒเดฟเดจเตเดฑเต† เดฌเตˆเดฑเตเดฑเต-เดฌเตˆ-เดฌเตˆเดฑเตเดฑเต เดตเดฟเดถเด•เดฒเดจเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด’เดฐเต เด˜เดŸเดจเดพ เดซเดฏเดฒเดฟเดฒเตเดฒเดพเดคเต† XtraDB เดชเดŸเตเดŸเดฟเด•เด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดกเดพเดฑเตเดฑ เดตเต€เดฃเตเดŸเต†เดŸเตเด•เตเด•เตเดจเตเดจเต

เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ, เดˆ เด•เต€เดตเต‡เดกเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดจเดฟเด™เตเด™เตพ เดซเดฏเดฒเดฟเดจเต† เดตเดฟเดญเดœเดฟเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฎเดฟเด•เตเด•เดตเดพเดฑเตเด‚ เดกเดพเดฑเตเดฑ เดฌเตเดฒเต‹เด•เตเด•เตเด•เตพ เดชเต‹เดฒเตเด‚ เดฒเดญเดฟเด•เตเด•เตเด‚. เดžเด™เตเด™เตพ เด‡เตปเดซเดฟเดฎเด‚ เด’เดฐเต เดตเดฟเดญเดœเดจเดฎเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด‚.

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

เดฐเดธเด•เดฐเดฎเดพเดฏ เด’เดฐเต เดจเดฟเดฐเต€เด•เตเดทเดฃเด‚: เด•เตเดฑเดžเตเดž เด…เดณเดตเดฟเดฒเตเดณเตเดณ เดกเดพเดฑเตเดฑเดฏเตเดณเตเดณ เดชเดŸเตเดŸเดฟเด•เด•เตพเด•เตเด•เดพเดฏเดฟ, เด‡เตปเดซเดฟเดฎเดคเตเดคเดฟเดจเตเด‚ เดธเตเดชเตเดฐเต€เดฎเดคเตเดคเดฟเดจเตเด‚ เด‡เดŸเดฏเดฟเตฝ เดฌเตเดฒเต‹เด•เตเด•เดฟเดฒเต† เดตเดฐเดฟเด•เดณเตเดŸเต† เดŽเดฃเตเดฃเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เด’เดฐเต เดชเต‹เดฏเดฟเดจเตเดฑเตผ เด‰เดฃเตเดŸเต.

ibd เดซเดฏเดฒเดฟเดจเตเดฑเต† เดฌเตˆเดฑเตเดฑเต-เดฌเตˆ-เดฌเตˆเดฑเตเดฑเต เดตเดฟเดถเด•เดฒเดจเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด’เดฐเต เด˜เดŸเดจเดพ เดซเดฏเดฒเดฟเดฒเตเดฒเดพเดคเต† XtraDB เดชเดŸเตเดŸเดฟเด•เด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดกเดพเดฑเตเดฑ เดตเต€เดฃเตเดŸเต†เดŸเตเด•เตเด•เตเดจเตเดจเต - 1st เดตเดฐเดฟเดฏเตเดณเตเดณ เดŸเต†เดธเตเดฑเตเดฑเต เดŸเต‡เดฌเดฟเตพ

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

เดจเดฟเด™เตเด™เตพ เด•เตเดฑเดšเตเดšเต เดธเดฎเดฏเด‚ เดšเดฟเดฒเดตเดดเดฟเดšเตเดšเดพเตฝ เดˆ เดคเต†เดฑเตเดฑเดฟเดฆเตเดงเดพเดฐเดฃ เดคเดฟเดฐเตเดคเตเดคเดพเตป เด•เดดเดฟเดฏเตเดฎเต†เดจเตเดจเต เดŽเดจเดฟเด•เตเด•เต เด‰เดฑเดชเตเดชเตเดฃเตเดŸเต.
เด…เดŸเตเดคเตเดคเดคเดพเดฏเดฟ, เด’เดฐเต เดธเตเดŸเตเดฐเดฟเด‚เด—เดฟเตฝ เดจเดฟเดจเตเดจเต เด’เดฐเต เดกเต‡เดฑเตเดฑเตเดŸเตˆเด‚ เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเต เดจเตฝเด•เตเดจเตเดจ เด’เดฐเต เดซเด‚เด—เตโ€Œเดทเตป. เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต:

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

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•