แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒแƒฆแƒ“แƒ’แƒ”แƒœแƒ XtraDB แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒ“แƒแƒœ แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒฃแƒšแƒ˜ แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ” ibd แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒ‘แƒแƒ˜แƒขแƒ˜-แƒ‘แƒแƒ˜แƒขแƒ˜ แƒแƒœแƒแƒšแƒ˜แƒ–แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—

แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒแƒฆแƒ“แƒ’แƒ”แƒœแƒ XtraDB แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒ“แƒแƒœ แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒฃแƒšแƒ˜ แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ” ibd แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒ‘แƒแƒ˜แƒขแƒ˜-แƒ‘แƒแƒ˜แƒขแƒ˜ แƒแƒœแƒแƒšแƒ˜แƒ–แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—

แƒฌแƒ˜แƒœแƒแƒ˜แƒกแƒขแƒแƒ แƒ˜แƒ

แƒ›แƒแƒฎแƒ“แƒ แƒ˜แƒกแƒ”, แƒ แƒแƒ› แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒก แƒ—แƒแƒ•แƒก แƒ“แƒแƒ”แƒกแƒฎแƒ แƒ’แƒแƒ›แƒแƒกแƒแƒกแƒงแƒ˜แƒ“แƒ˜ แƒ•แƒ˜แƒ แƒฃแƒกแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ›แƒแƒช โ€žแƒ˜แƒฆแƒ‘แƒšแƒ˜แƒแƒœแƒ˜ แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ˜แƒกโ€œ แƒจแƒ”แƒ“แƒ”แƒ’แƒแƒ“ แƒœแƒแƒฌแƒ˜แƒšแƒแƒ‘แƒ แƒ˜แƒ• แƒ“แƒแƒขแƒแƒ•แƒ .ibd แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜ (innodb แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒœแƒ”แƒ“แƒšแƒ”แƒฃแƒšแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜), แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒ›แƒแƒ•แƒ” แƒ“แƒ แƒแƒก แƒ›แƒ—แƒšแƒ˜แƒแƒœแƒแƒ“ แƒ“แƒแƒจแƒ˜แƒคแƒ แƒ .fpm แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜ ( แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ). แƒแƒ› แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, .idb แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ“แƒแƒ˜แƒงแƒแƒก:

  • แƒ”แƒฅแƒ•แƒ”แƒ›แƒ“แƒ”แƒ‘แƒแƒ แƒ”แƒ‘แƒ แƒแƒฆแƒ“แƒ’แƒ”แƒœแƒแƒก แƒกแƒขแƒแƒœแƒ“แƒแƒ แƒขแƒฃแƒšแƒ˜ แƒฎแƒ”แƒšแƒกแƒแƒฌแƒงแƒแƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒ’แƒ˜แƒ“แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—. แƒแƒกแƒ”แƒ—แƒ˜ แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒแƒ แƒ˜แƒก แƒจแƒ”แƒกแƒแƒœแƒ˜แƒจแƒœแƒแƒ•แƒ˜ แƒ’แƒแƒฎแƒ“แƒ”แƒก;
  • แƒœแƒแƒฌแƒ˜แƒšแƒแƒ‘แƒ แƒ˜แƒ• แƒ“แƒแƒจแƒ˜แƒคแƒ แƒฃแƒšแƒ˜ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜. แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒแƒ“ แƒ”แƒก แƒแƒ แƒ˜แƒก แƒ“แƒ˜แƒ“แƒ˜ แƒ›แƒแƒ’แƒ˜แƒ“แƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒกแƒแƒช (แƒ แƒแƒ’แƒแƒ แƒช แƒ›แƒ”แƒกแƒ›แƒ˜แƒก) แƒ—แƒแƒ•แƒ“แƒแƒ›แƒกแƒฎแƒ›แƒ”แƒšแƒ”แƒ‘แƒก แƒแƒ  แƒฐแƒฅแƒแƒœแƒ“แƒแƒ— แƒกแƒแƒ™แƒ›แƒแƒ แƒ˜แƒกแƒ˜ แƒแƒžแƒ”แƒ แƒแƒขแƒ˜แƒฃแƒšแƒ˜ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ แƒกแƒ แƒฃแƒšแƒ˜ แƒ“แƒแƒจแƒ˜แƒคแƒ•แƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก;
  • แƒ™แƒแƒ แƒ’แƒแƒ“, แƒกแƒ แƒฃแƒšแƒแƒ“ แƒ“แƒแƒจแƒ˜แƒคแƒ แƒฃแƒšแƒ˜ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ—แƒ แƒแƒฆแƒ“แƒ’แƒ”แƒœแƒ แƒจแƒ”แƒฃแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ.

แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ’แƒแƒฎแƒ“แƒ แƒ˜แƒ›แƒ˜แƒก แƒ“แƒแƒ“แƒ’แƒ”แƒœแƒ, แƒ—แƒฃ แƒ แƒแƒ›แƒ”แƒš แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒก แƒ”แƒ™แƒฃแƒ—แƒ•แƒœแƒ˜แƒก แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜, แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒ’แƒแƒฎแƒกแƒœแƒ˜แƒ— แƒ˜แƒ’แƒ˜ แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ  แƒขแƒ”แƒฅแƒกแƒขแƒฃแƒ  แƒ แƒ”แƒ“แƒแƒฅแƒขแƒแƒ แƒจแƒ˜ แƒกแƒแƒกแƒฃแƒ แƒ•แƒ”แƒšแƒ˜ แƒ™แƒแƒ“แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒ— (แƒฉแƒ”แƒ›แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒ”แƒก แƒแƒ แƒ˜แƒก UTF8) แƒ“แƒ แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒ“แƒแƒแƒ—แƒ•แƒแƒšแƒ˜แƒ”แƒ แƒ”แƒ— แƒคแƒแƒ˜แƒšแƒ˜ แƒขแƒ”แƒฅแƒกแƒขแƒฃแƒ แƒ˜ แƒ•แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“:

แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒแƒฆแƒ“แƒ’แƒ”แƒœแƒ XtraDB แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒ“แƒแƒœ แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒฃแƒšแƒ˜ แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ” ibd แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒ‘แƒแƒ˜แƒขแƒ˜-แƒ‘แƒแƒ˜แƒขแƒ˜ แƒแƒœแƒแƒšแƒ˜แƒ–แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—

แƒแƒกแƒ”แƒ•แƒ”, แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒ“แƒแƒกแƒแƒฌแƒงแƒ˜แƒกแƒจแƒ˜ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ“แƒแƒแƒ™แƒ•แƒ˜แƒ แƒ“แƒ”แƒ— 0 แƒ‘แƒแƒ˜แƒขแƒ˜แƒก แƒ“แƒ˜แƒ“ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒแƒก แƒ“แƒ แƒ•แƒ˜แƒ แƒฃแƒกแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ”แƒœ แƒ‘แƒšแƒแƒ™แƒ˜แƒก แƒ“แƒแƒจแƒ˜แƒคแƒ•แƒ แƒ˜แƒก แƒแƒšแƒ’แƒแƒ แƒ˜แƒ—แƒ›แƒก (แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒ’แƒแƒ•แƒ แƒชแƒ”แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜) แƒฉแƒ•แƒ”แƒฃแƒšแƒ”แƒ‘แƒ แƒ˜แƒ• แƒ’แƒแƒ•แƒšแƒ”แƒœแƒแƒก แƒแƒฎแƒ“แƒ”แƒœแƒ”แƒœ แƒ›แƒแƒ—แƒ–แƒ”.
แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒแƒฆแƒ“แƒ’แƒ”แƒœแƒ XtraDB แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒ“แƒแƒœ แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒฃแƒšแƒ˜ แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ” ibd แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒ‘แƒแƒ˜แƒขแƒ˜-แƒ‘แƒแƒ˜แƒขแƒ˜ แƒแƒœแƒแƒšแƒ˜แƒ–แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—

แƒฉแƒ”แƒ›แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒ—แƒแƒ•แƒ“แƒแƒ›แƒกแƒฎแƒ›แƒ”แƒšแƒ”แƒ‘แƒ›แƒ แƒ“แƒแƒขแƒแƒ•แƒ”แƒก 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)

แƒแƒ›แƒ แƒ˜แƒ’แƒแƒ“, แƒแƒฆแƒ›แƒแƒฉแƒœแƒ“แƒ, แƒ แƒแƒ› แƒ˜แƒžแƒแƒ•แƒ”แƒก แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒขแƒ˜แƒžแƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜. แƒ›แƒ”แƒแƒ แƒ” แƒ›แƒแƒ˜แƒชแƒแƒ•แƒก แƒฃแƒแƒ›แƒ แƒแƒ• แƒฎแƒ”แƒšแƒ˜แƒ— แƒ›แƒฃแƒจแƒแƒแƒ‘แƒแƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ แƒแƒช แƒแƒฆแƒ›แƒแƒฉแƒœแƒ“แƒ แƒฃแƒ™แƒ•แƒ” แƒกแƒแƒ™แƒ›แƒแƒ แƒ˜แƒกแƒ˜ แƒ˜แƒงแƒ. แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ™แƒแƒ แƒ’แƒแƒ“ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒฃแƒœแƒ“แƒ แƒ˜แƒชแƒแƒ“แƒ” แƒแƒ‘แƒกแƒแƒšแƒฃแƒขแƒฃแƒ แƒแƒ“ แƒ–แƒฃแƒกแƒขแƒ˜ แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ แƒ“แƒ (แƒ แƒ แƒ—แƒฅแƒ›แƒ แƒฃแƒœแƒ“แƒ) แƒ’แƒแƒฉแƒœแƒ“แƒ แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ, แƒ แƒแƒ› แƒ›แƒ” แƒ›แƒแƒ›แƒ˜แƒฌแƒ˜แƒ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ แƒฎแƒจแƒ˜แƒ แƒแƒ“ แƒชแƒ•แƒแƒšแƒ”แƒ‘แƒแƒ“แƒ˜ แƒ›แƒแƒ’แƒ˜แƒ“แƒแƒกแƒ—แƒแƒœ. แƒแƒ แƒแƒ•แƒ˜แƒก แƒแƒฎแƒกแƒแƒ•แƒ“แƒ, แƒจแƒ”แƒ˜แƒชแƒ•แƒแƒšแƒ แƒ—แƒฃ แƒแƒ แƒ แƒ•แƒ”แƒšแƒ˜แƒก แƒขแƒ˜แƒžแƒ˜ แƒ—แƒฃ แƒ“แƒแƒ”แƒ›แƒแƒขแƒ แƒแƒฎแƒแƒšแƒ˜ แƒกแƒ•แƒ”แƒขแƒ˜.

Wilds City, แƒกแƒแƒ›แƒฌแƒฃแƒฎแƒแƒ แƒแƒ“, แƒ•แƒ”แƒ  แƒฃแƒจแƒ•แƒ”แƒšแƒ แƒแƒกแƒ”แƒ— แƒกแƒแƒฅแƒ›แƒ”แƒก, แƒ แƒ˜แƒก แƒ’แƒแƒ›แƒแƒช แƒ˜แƒฌแƒ”แƒ แƒ”แƒ‘แƒ แƒ”แƒก แƒกแƒขแƒแƒขแƒ˜แƒ.

แƒ’แƒแƒ“แƒแƒ“แƒ˜แƒ— แƒแƒ–แƒ แƒแƒ›แƒ“แƒ”

แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก 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 แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒ‘แƒแƒ˜แƒขแƒ˜-แƒ‘แƒแƒ˜แƒขแƒ˜ แƒแƒœแƒแƒšแƒ˜แƒ–แƒ˜, แƒ แƒแƒกแƒแƒช แƒ›แƒแƒฐแƒงแƒ•แƒ”แƒ‘แƒ แƒ›แƒแƒ—แƒ˜ แƒ’แƒแƒ“แƒแƒงแƒ•แƒแƒœแƒ แƒฃแƒคแƒ แƒ แƒฌแƒแƒกแƒแƒ™แƒ˜แƒ—แƒฎ แƒคแƒแƒ แƒ›แƒแƒจแƒ˜. แƒ˜แƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒ, แƒ แƒแƒ› แƒ•แƒ˜แƒžแƒแƒ•แƒแƒ— แƒ˜แƒก, แƒ แƒแƒช แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ, แƒฉแƒ•แƒ”แƒœ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ•แƒแƒแƒœแƒแƒšแƒ˜แƒ–แƒแƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒขแƒ˜แƒžแƒ”แƒ‘แƒ˜, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ int แƒ“แƒ datatime, แƒกแƒขแƒแƒขแƒ˜แƒแƒจแƒ˜ แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ˜แƒกแƒ˜แƒœแƒ˜, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ–แƒแƒ’แƒฏแƒ”แƒ  แƒฉแƒ•แƒ”แƒœ แƒแƒกแƒ”แƒ•แƒ” แƒ›แƒ˜แƒ•แƒ›แƒแƒ แƒ—แƒแƒ•แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒกแƒฎแƒ•แƒ แƒขแƒ˜แƒžแƒ”แƒ‘แƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ“แƒแƒ’แƒ•แƒ”แƒฎแƒ›แƒแƒ แƒแƒก แƒกแƒฎแƒ•แƒ แƒ›แƒกแƒ’แƒแƒ•แƒก แƒ˜แƒœแƒชแƒ˜แƒ“แƒ”แƒœแƒขแƒ”แƒ‘แƒจแƒ˜.

แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ 1: DATETIME แƒ“แƒ TEXT แƒขแƒ˜แƒžแƒ”แƒ‘แƒ˜แƒก แƒ•แƒ”แƒšแƒ”แƒ‘แƒก แƒฐแƒฅแƒแƒœแƒ“แƒแƒ— NULL แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒ’แƒแƒ›แƒแƒขแƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒคแƒแƒ˜แƒšแƒจแƒ˜, แƒแƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒ แƒจแƒ”แƒฃแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ˜แƒงแƒ แƒฉแƒ”แƒ›แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒแƒฆแƒ“แƒ’แƒ”แƒœแƒ˜แƒšแƒ˜ แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒ“แƒแƒ“แƒ’แƒ”แƒœแƒ. แƒแƒฎแƒแƒš แƒกแƒ•แƒ”แƒขแƒ”แƒ‘แƒจแƒ˜ แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ แƒ˜แƒงแƒ null แƒ“แƒ แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ˜แƒก แƒœแƒแƒฌแƒ˜แƒšแƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ“แƒแƒ˜แƒ™แƒแƒ แƒ’แƒแƒก innodb_flush_log_at_trx_commit = 0 แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ˜แƒก แƒ’แƒแƒ›แƒ, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒ“แƒ แƒ แƒฃแƒœแƒ“แƒ แƒ“แƒแƒ˜แƒฎแƒแƒ แƒฏแƒแƒก แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒ“แƒแƒกแƒแƒ“แƒ’แƒ”แƒœแƒแƒ“.

แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ 2: แƒ’แƒแƒกแƒแƒ—แƒ•แƒแƒšแƒ˜แƒกแƒฌแƒ˜แƒœแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ, แƒ แƒแƒ› DELETE-แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ— แƒฌแƒแƒจแƒšแƒ˜แƒšแƒ˜ แƒ แƒ˜แƒ’แƒ”แƒ‘แƒ˜ แƒงแƒ•แƒ”แƒšแƒ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ ibd แƒคแƒแƒ˜แƒšแƒจแƒ˜, แƒ›แƒแƒ’แƒ แƒแƒ› ALTER TABLE-แƒ˜แƒ— แƒ›แƒแƒ—แƒ˜ แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ แƒแƒ  แƒ’แƒแƒœแƒแƒฎแƒšแƒ“แƒ”แƒ‘แƒ. แƒจแƒ”แƒ“แƒ”แƒ’แƒแƒ“, แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ“แƒ”แƒ‘แƒแƒ“แƒ”แƒก แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒ“แƒแƒกแƒแƒฌแƒงแƒ˜แƒกแƒ˜แƒ“แƒแƒœ แƒ›แƒ˜แƒก แƒ‘แƒแƒšแƒแƒ›แƒ“แƒ”. แƒ—แƒฃ แƒฎแƒจแƒ˜แƒ แƒแƒ“ แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— OPTIMIZE TABLE-แƒก, แƒ›แƒแƒจแƒ˜แƒœ แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒแƒ“ แƒกแƒแƒ•แƒแƒ แƒแƒฃแƒ“แƒแƒ, แƒ แƒแƒ› แƒจแƒ”แƒ’แƒฎแƒ•แƒ“แƒ”แƒ— แƒแƒกแƒ”แƒ—แƒ˜ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ.

แƒจแƒ”แƒœแƒ˜แƒจแƒ•แƒœแƒ, DBMS แƒ•แƒ”แƒ แƒกแƒ˜แƒ แƒ’แƒแƒ•แƒšแƒ”แƒœแƒแƒก แƒแƒฎแƒ“แƒ”แƒœแƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒœแƒแƒฎแƒ•แƒแƒ–แƒ” แƒ“แƒ แƒ”แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒแƒ  แƒ˜แƒ›แƒฃแƒจแƒแƒแƒก แƒกแƒฎแƒ•แƒ แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“ แƒ•แƒ”แƒ แƒกแƒ˜แƒ”แƒ‘แƒ–แƒ”. แƒฉแƒ”แƒ›แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒงแƒ mariadb 10.1.24 windows แƒ•แƒ”แƒ แƒกแƒ˜แƒ. แƒ’แƒแƒ แƒ“แƒ แƒแƒ›แƒ˜แƒกแƒ, แƒ›แƒ˜แƒฃแƒฎแƒ”แƒ“แƒแƒ•แƒแƒ“ แƒ˜แƒ›แƒ˜แƒกแƒ, แƒ แƒแƒ› mariadb-แƒจแƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ— InnoDB แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ—แƒแƒœ, แƒกแƒ˜แƒœแƒแƒ›แƒ“แƒ•แƒ˜แƒšแƒ”แƒจแƒ˜ แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒแƒ แƒ˜แƒแƒœ XtraDB, แƒ แƒแƒช แƒ’แƒแƒ›แƒแƒ แƒ˜แƒชแƒฎแƒแƒ•แƒก แƒ›แƒ”แƒ—แƒแƒ“แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒแƒ“แƒแƒ‘แƒแƒก InnoDB mysql-แƒ˜แƒ—.

แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒแƒœแƒแƒšแƒ˜แƒ–แƒ˜

แƒžแƒ˜แƒ—แƒแƒœแƒจแƒ˜, แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒขแƒ˜แƒžแƒ˜ แƒ‘แƒแƒ˜แƒขแƒ”แƒ‘แƒ˜ () แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒก แƒฃแƒœแƒ˜แƒ™แƒแƒ“แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒก แƒ แƒ˜แƒชแƒฎแƒ•แƒ”แƒ‘แƒ˜แƒก แƒฉแƒ•แƒ”แƒฃแƒšแƒ”แƒ‘แƒ แƒ˜แƒ•แƒ˜ แƒœแƒแƒ™แƒ แƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒชแƒ•แƒšแƒแƒ“. แƒ›แƒ˜แƒฃแƒฎแƒ”แƒ“แƒแƒ•แƒแƒ“ แƒ˜แƒ›แƒ˜แƒกแƒ, แƒ แƒแƒ› แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒœแƒแƒฎแƒ•แƒ แƒแƒ› แƒคแƒแƒ แƒ›แƒ˜แƒ—, แƒ›แƒแƒฎแƒ”แƒ แƒฎแƒ”แƒ‘แƒฃแƒšแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒ“แƒแƒ˜แƒงแƒ•แƒแƒœแƒแƒ— แƒ‘แƒแƒ˜แƒขแƒ”แƒ‘แƒ˜ แƒ แƒ˜แƒชแƒฎแƒ•แƒ˜แƒ— แƒคแƒแƒ แƒ›แƒแƒจแƒ˜ แƒ‘แƒแƒ˜แƒขแƒ˜แƒก แƒ›แƒแƒกแƒ˜แƒ•แƒ˜แƒก แƒ แƒ”แƒ’แƒฃแƒšแƒแƒ แƒฃแƒš แƒ›แƒแƒกแƒ˜แƒ•แƒแƒ“ แƒ’แƒแƒ“แƒแƒฅแƒชแƒ”แƒ•แƒ˜แƒ— (list(example_byte_array)). แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ  แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒแƒ แƒ˜แƒ•แƒ” แƒ›แƒ”แƒ—แƒแƒ“แƒ˜ แƒจแƒ”แƒกแƒแƒคแƒ”แƒ แƒ˜แƒกแƒ˜แƒ แƒแƒœแƒแƒšแƒ˜แƒ–แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” ibd แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒ“แƒแƒ—แƒ•แƒแƒšแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ˜แƒžแƒแƒ•แƒแƒ— แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜:

แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒแƒฆแƒ“แƒ’แƒ”แƒœแƒ XtraDB แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒ“แƒแƒœ แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒฃแƒšแƒ˜ แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ” ibd แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒ‘แƒแƒ˜แƒขแƒ˜-แƒ‘แƒแƒ˜แƒขแƒ˜ แƒแƒœแƒแƒšแƒ˜แƒ–แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—

แƒฃแƒคแƒ แƒ แƒ›แƒ”แƒขแƒ˜แƒช, แƒ—แƒฃ แƒคแƒแƒ˜แƒšแƒก แƒแƒ› แƒกแƒแƒ™แƒ•แƒแƒœแƒซแƒ แƒกแƒ˜แƒขแƒงแƒ•แƒ”แƒ‘แƒ–แƒ” แƒ’แƒแƒงแƒแƒคแƒ—, แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒแƒ“ แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ‘แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒšแƒแƒ™แƒ”แƒ‘แƒก. แƒ’แƒแƒ›แƒงแƒแƒคแƒแƒ“ แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— infimum-แƒก.

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

แƒกแƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ แƒ“แƒแƒ™แƒ•แƒ˜แƒ แƒ•แƒ”แƒ‘แƒ: แƒ›แƒชแƒ˜แƒ แƒ” แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ›แƒฅแƒแƒœแƒ” แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, infimum-แƒกแƒ แƒ“แƒ supremum-แƒก แƒจแƒแƒ แƒ˜แƒก แƒแƒ แƒ˜แƒก แƒ›แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ‘แƒšแƒแƒ™แƒจแƒ˜ แƒ›แƒฌแƒ™แƒ แƒ˜แƒ•แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒแƒ–แƒ”.

แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒแƒฆแƒ“แƒ’แƒ”แƒœแƒ XtraDB แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒ“แƒแƒœ แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒฃแƒšแƒ˜ แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ” ibd แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒ‘แƒแƒ˜แƒขแƒ˜-แƒ‘แƒแƒ˜แƒขแƒ˜ แƒแƒœแƒแƒšแƒ˜แƒ–แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— - แƒขแƒ”แƒกแƒขแƒ˜แƒก แƒ›แƒแƒ’แƒ˜แƒ“แƒ 1 แƒ แƒ˜แƒ’แƒ˜แƒ—

แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒแƒฆแƒ“แƒ’แƒ”แƒœแƒ XtraDB แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒ“แƒแƒœ แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒฃแƒšแƒ˜ แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ” ibd แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒ‘แƒแƒ˜แƒขแƒ˜-แƒ‘แƒแƒ˜แƒขแƒ˜ แƒแƒœแƒแƒšแƒ˜แƒ–แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— - แƒขแƒ”แƒกแƒขแƒ˜แƒก แƒ›แƒแƒ’แƒ˜แƒ“แƒ 2 แƒ›แƒฌแƒ™แƒ แƒ˜แƒ•แƒ˜แƒ—

แƒ›แƒฌแƒ™แƒ แƒ˜แƒ•แƒ˜แƒก แƒ›แƒแƒกแƒ˜แƒ•แƒ˜แƒก แƒชแƒฎแƒ แƒ˜แƒšแƒ˜แƒก[0] แƒ’แƒแƒ›แƒแƒขแƒแƒ•แƒ”แƒ‘แƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ. แƒ›แƒ˜แƒกแƒ˜ แƒ’แƒแƒ“แƒแƒฎแƒ”แƒ“แƒ•แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒ›แƒ” แƒ›แƒแƒ˜แƒœแƒช แƒ•แƒ”แƒ  แƒ•แƒ˜แƒžแƒแƒ•แƒ” แƒชแƒฎแƒ แƒ˜แƒšแƒ˜แƒก แƒœแƒ”แƒ“แƒšแƒ”แƒฃแƒšแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜. แƒกแƒแƒ•แƒแƒ แƒแƒฃแƒ“แƒแƒ“, แƒ”แƒก แƒ‘แƒšแƒแƒ™แƒ˜ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒœแƒแƒฎแƒแƒ“.
แƒชแƒฎแƒ แƒ˜แƒšแƒ˜แƒ—[1]-แƒ˜แƒ— แƒ“แƒแƒฌแƒงแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ“แƒ แƒ›แƒ˜แƒกแƒ˜ แƒชแƒ˜แƒคแƒ แƒฃแƒš แƒ›แƒแƒกแƒ˜แƒ•แƒจแƒ˜ แƒ—แƒแƒ แƒ’แƒ›แƒœแƒ˜แƒ—, แƒฃแƒ™แƒ•แƒ” แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒจแƒ”แƒแƒ›แƒฉแƒœแƒ˜แƒแƒ— แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒœแƒ˜แƒ›แƒฃแƒจแƒ˜, แƒ™แƒ”แƒ แƒซแƒแƒ“:

แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒแƒฆแƒ“แƒ’แƒ”แƒœแƒ XtraDB แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒ“แƒแƒœ แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒฃแƒšแƒ˜ แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ” ibd แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒ‘แƒแƒ˜แƒขแƒ˜-แƒ‘แƒแƒ˜แƒขแƒ˜ แƒแƒœแƒแƒšแƒ˜แƒ–แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—

แƒ”แƒก แƒแƒ แƒ˜แƒก 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.
แƒชแƒฎแƒ แƒ˜แƒšแƒก แƒฐแƒฅแƒแƒœแƒ“แƒ แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒแƒ“แƒ˜ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜ แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒ˜ แƒ’แƒแƒ–แƒ แƒ“แƒ˜แƒ— แƒ“แƒ แƒ˜แƒก แƒแƒกแƒ”แƒ•แƒ” แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒœแƒแƒฎแƒแƒ— แƒแƒฅ

แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒแƒฆแƒ“แƒ’แƒ”แƒœแƒ XtraDB แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒ“แƒแƒœ แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒฃแƒšแƒ˜ แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ” ibd แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒ‘แƒแƒ˜แƒขแƒ˜-แƒ‘แƒแƒ˜แƒขแƒ˜ แƒแƒœแƒแƒšแƒ˜แƒ–แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—

แƒขแƒ”แƒกแƒขแƒ˜แƒก แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒแƒฆแƒ›แƒแƒฉแƒœแƒ“แƒ, แƒ แƒแƒ› 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

แƒ“แƒแƒ แƒฌแƒ›แƒฃแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ•แƒแƒ , แƒ แƒแƒ› แƒ—แƒฃ แƒ—แƒฅแƒ•แƒ”แƒœ แƒ“แƒแƒฎแƒแƒ แƒฏแƒแƒ•แƒ— n แƒ“แƒ แƒแƒก, แƒ”แƒก แƒ’แƒแƒฃแƒ’แƒ”แƒ‘แƒ แƒแƒ‘แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒกแƒฌแƒแƒ แƒ“แƒ”แƒก.
แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜, แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ‘แƒ แƒฃแƒœแƒ”แƒ‘แƒก แƒ—แƒแƒ แƒ˜แƒฆแƒ˜แƒก แƒ“แƒ แƒแƒ˜แƒก แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒก แƒกแƒขแƒ แƒ˜แƒฅแƒแƒœแƒ˜แƒ“แƒแƒœ. แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜:

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 แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒแƒฆแƒ“แƒ’แƒ”แƒœแƒ XtraDB แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒ“แƒแƒœ แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒฃแƒšแƒ˜ แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ” ibd แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒ‘แƒแƒ˜แƒขแƒ˜-แƒ‘แƒแƒ˜แƒขแƒ˜ แƒแƒœแƒแƒšแƒ˜แƒ–แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—, แƒ แƒแƒ’แƒแƒ แƒช แƒฉแƒแƒœแƒก, แƒ”แƒก แƒแƒ แƒ˜แƒก แƒ˜แƒก, แƒ แƒแƒช แƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ—. แƒฃแƒคแƒ แƒ แƒ›แƒ”แƒขแƒ˜แƒช, แƒแƒกแƒ”แƒ—แƒ˜ แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒแƒ‘แƒ แƒแƒ  แƒ›แƒ”แƒแƒ แƒ“แƒ”แƒ‘แƒ แƒแƒ แƒฏแƒ”แƒ  แƒกแƒขแƒ แƒ˜แƒฅแƒแƒœแƒ–แƒ”.

แƒ แƒ”แƒ’แƒฃแƒšแƒแƒ แƒฃแƒšแƒ˜ แƒ’แƒแƒ›แƒแƒฎแƒแƒขแƒ•แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—, แƒฉแƒ•แƒ”แƒœ แƒ•แƒžแƒแƒฃแƒšแƒแƒ‘แƒ— แƒกแƒแƒญแƒ˜แƒ แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒก:

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

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ