• Как провести миграцию для PK с int на BigInt в MySql 5.7?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Можно попробовать почистить таблицу от исторических записей PK и появится свободное место снизу.
    Допустим от ID=0 до 1 млрд. И потом потихоньку начать переиспользовать ключи снизу.
    Но я не уверен что это работает для авто-инкрементных ключей особенно если уже много логики было
    создано. В оракле проще. Есть отдельный объект SEQUENCE и его можно очень быстро пересоздать
    или сделать циклическим. Тоесть от 4 млрд он пойдет снова с нуля.

    Второй вариант - я-бы сделал копию ID INT с типом ID_BIG BIGINT. Это очень короткая блокировка. Надеюсь быстро.
    Потом в фоновом режиме (транзакционном) пообновлял бы все до полного синхронизма. И потом
    нужен регламент чтобы дропнуть ID и переделать все констрейнты быстро на ID_BIG.
    Тут надо подготовить заране скрипты.
    Ответ написан
    2 комментария
  • Использование HTTP/2 ускорит процесс передачи/принятия ответа от api сервера?

    Совсем немного ускорит благодаря тому что по одному соединению в http/2 может идти несколько запросов одновременно.
    => Нужно будет открывать меньше новых соединений.
    + Он бинарный => всякие multipart запросы также будут передаваться в чуть более компактном виде.
    + В нём есть сжатие заголовков => заголовки тоже будут в более компактном виде идти.
    Ответ написан
    Комментировать
  • Как исправить 'JWTAuthentication' object has no attribute 'has_permission'?

    @SolodNik
    благодарен за пост, помог разобраться)
    Ответ написан
    Комментировать
  • Зачем компьютерной игре VALORANT нужен дисковод?

    В valorant используется такой античит, который сканирует тупо все файлы, какие есть на компьютере.
    => Если в дисковод вставлен диск, то и его он тоже будет читать
    Ответ написан
    Комментировать
  • Как отсортировать CSV файл по дате?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    C помощью pandas как вариант:
    import io
    import pandas as pd
    
    data = cvs_data = io.StringIO('''Date, 1, 2, 3, 4
    2010-02-04, 213.429998, 214.499996, 212.38000099999996, 214.009998
    2010-03-05, 214.599998, 215.589994, 213.249994, 214.379993
    2010-04-06, 214.379993, 215.23, 210.750004, 210.969995
    2010-05-07, 211.75, 212.000006, 209.050005, 210.58
    2010-06-08, 210.299994, 212.000006, 209.06000500000002, 211.98000499999998''')
    
    df = pd.read_csv(data, sep=",")
    df['Date'] = pd.to_datetime(df.Date)
    
    print(df[df['Date'] > datetime.datetime(2010, 5, 1)])


    Date           1           2           3           4
    3 2010-05-07  211.750000  212.000006  209.050005  210.580000
    4 2010-06-08  210.299994  212.000006  209.060005  211.980005
    Ответ написан
    2 комментария