Python: медленно при вставке данных в таблицу [closed]

На выполнение сценария уходит гораздо больше времени, чем ожидалось. Всего для 1250 записей потребуется 20 с лишним минут, чтобы зациклить и вставить в таблицу. Сообщите нам, нормально ли это

Ниже приведены 11 столбцов, извлеченных из API (JSON) и загружающих каждую строку в таблицу (оракул).

сценарий:

auth_values = (user, passwd)
response = requests.get(url, auth=auth_values)
json_data = json.loads(response.text)

for data in json_data['result']:
        branchFullName = data['full_name']
        branchNum = data['u_branch_id']
        branchName = data['u_branch_name']
        sysId= data['sys_id']
        sys_updated_on = data['sys_updated_on']
        sys_created_on = data['sys_created_on']
        cursor.execute("INSERT INTO "+PrestageTable+"(BRANCH_FULL_NAME, 
        BRANCH_NUM, BRANCH_NAME,SYS_ID,SYS_CREATED_ON,SYS_UPDATED_ON) VALUES 
        (:1, :2, :3, :4, :5, :6)", 
    (branchFullName,branchNum,branchName,sysId,sys_updated_on,sys_created_on))
        con.commit()

Есть ли способ использовать индексацию или какие-либо предложения.

Обновлено:

insert_data = []
    for data in json_data['result']:
        branchFullName = data['full_name']
        branchNum = data['u_branch_id']
        branchName = data['u_branch_name']
        sysId= data['sys_id']
        sys_updated_on = data['sys_updated_on']
        sys_created_on = data['sys_created_on']
        insert_data.append(
        (branchFullName, branchNum, branchName, sysId, sys_updated_on, sys_created_on)
        )
        args_str=",".join(cur.mogrify("(%s,%s,%s,%s,%s,%s)", x) for x in insert_data)
    cursor.execute(f"INSERT INTO {PrestageTable} VALUES " + args_str)
    con.commit()

Добавлен файл json:

{
    "result": [
        {
            "country": {
                "link": "https://xyz.service-now.com/api/now/table/core_country/ebc0713f4",
                "value": "9d38b7111b121100763d91eebc0713f4"
            },
            "parent": "",
            "city": "trgtt",
            "latitude": "",
            "sys_updated_on": "2019-10-04 16:44:21",
            "type": "",
            "sys_class_name": "u_branch",
            "sys_id": "565666",
            "u_daily_limit": "0",
            "sys_updated_by": "SYffffLVPAU",
            "u_branch_name": "tyfhh",
            "stock_room": "false",
            "street": "KM 66 jhhhj jhg jhhhh - PORTÃO 01 - SALA DG",
            "sys_created_on": "2019-07-25 16:26:18",
            "contact": "",
            "phone_territory": "",
            "u_active": "true",
            "company": "",
            "lat_long_error": "",
            "u_branch_id": "vfg",
            "state": "",
            "consumer": "",
            "sys_created_by": "gghhh",
            "longitude": "",
            "u_region": "REGIONAL 1",
            "zip": "",
            "u_code": "",
            "u_dmm": "false",
            "sys_mod_count": "1",
            "sys_tags": "",
            "time_zone": "",
            "full_name": "VCP - yghg",
            "fax_phone": "",
            "phone": "09-4321-3920",
            "u_ddr": "false",
            "name": "VCP - gfghj",
            "u_cutoff_time": "",
            "coordinates_retrieved_on": "",
            "u_schedule": "",
            "account": "",
            "primary": "false"
        },
        {
            "country": {
                "link": "https://xyz.service-now.com/api/now/table/core_country/1eebc0713f4",
                "value": "fgddddfghh"
            },
            "parent": "",
            "city": "rerdr BRAZ",
            "latitude": "",
            "sys_updated_on": "2019-10-04 16:44:21",
            "type": "",
            "sys_class_name": "u_branch",
            "sys_id": "5644",
            "u_daily_limit": "0",
            "sys_updated_by": "gg",
            "u_branch_name": "hff BRAS",
            "stock_room": "false",
            "street": "302B RUA gffg ELIAS",
            "sys_created_on": "2019-07-25 16:26:19",
            "contact": "",
            "phone_territory": "",
            "u_active": "true",
            "company": "",
            "lat_long_error": "",
            "u_branch_id": "frg",
            "state": "",
            "consumer": "",
            "sys_created_by": "gtft",
            "longitude": "",
            "u_region": "REGIO 2",
            "zip": "",
            "u_code": "",
            "u_dmm": "false",
            "sys_mod_count": "1",
            "sys_tags": "",
            "time_zone": "",
            "full_name": "WBR - yyjh BRAS",
            "fax_phone": "",
            "phone": "04-352-160",
            "u_ddr": "false",
            "name": "dfee - Wdd BRdS",
            "u_cutoff_time": "",
            "coordinates_retrieved_on": "",
            "u_schedule": "",
            "account": "",
            "primary": "false"
        }     ]
}```

0

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *